Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.

Shader: variable_layer_height
This commit is contained in:
enricoturri1966 2022-03-08 12:48:21 +01:00
parent dbdc272c4e
commit 65b5af9561
4 changed files with 139 additions and 7 deletions

View file

@ -245,9 +245,15 @@ class GLCanvas3D
GLModel baseline;
GLModel profile;
GLModel background;
#if ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES
float old_canvas_width{ 0.0f };
#else
Rect old_bar_rect;
#endif // ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES
std::vector<double> old_layer_height_profile;
#if !ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES
bool dirty{ false };
#endif // !ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES
};
Profile m_profile;
#endif // ENABLE_GLBEGIN_GLEND_REMOVAL
@ -277,7 +283,9 @@ class GLCanvas3D
static float get_cursor_z_relative(const GLCanvas3D& canvas);
static bool bar_rect_contains(const GLCanvas3D& canvas, float x, float y);
static Rect get_bar_rect_screen(const GLCanvas3D& canvas);
#if !ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES
static Rect get_bar_rect_viewport(const GLCanvas3D& canvas);
#endif // !ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES
static float get_overlay_window_width() { return LayersEditing::s_overlay_window_width; }
float object_max_z() const { return m_object_max_z; }
@ -287,10 +295,11 @@ class GLCanvas3D
private:
bool is_initialized() const;
void generate_layer_height_texture();
void render_active_object_annotations(const GLCanvas3D& canvas, const Rect& bar_rect);
#if ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES
void render_active_object_annotations(const GLCanvas3D& canvas);
void render_profile(const GLCanvas3D& canvas);
#else
void render_active_object_annotations(const GLCanvas3D& canvas, const Rect& bar_rect);
void render_profile(const Rect& bar_rect);
#endif // ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES
void update_slicing_parameters();