Refactoring in GCodeViewer
This commit is contained in:
parent
46e4f54fd0
commit
194cab75d9
2 changed files with 12 additions and 27 deletions
|
@ -3756,11 +3756,11 @@ void GCodeViewer::render_toolpaths() const
|
||||||
const IBuffer& i_buffer = buffer.indices[j];
|
const IBuffer& i_buffer = buffer.indices[j];
|
||||||
|
|
||||||
glsafe(::glBindBuffer(GL_ARRAY_BUFFER, i_buffer.vbo));
|
glsafe(::glBindBuffer(GL_ARRAY_BUFFER, i_buffer.vbo));
|
||||||
glsafe(::glVertexPointer(buffer.vertices.position_size_floats(), GL_FLOAT, buffer.vertices.vertex_size_bytes(), (const void*)buffer.vertices.position_offset_size()));
|
glsafe(::glVertexPointer(buffer.vertices.position_size_floats(), GL_FLOAT, buffer.vertices.vertex_size_bytes(), (const void*)buffer.vertices.position_offset_bytes()));
|
||||||
glsafe(::glEnableClientState(GL_VERTEX_ARRAY));
|
glsafe(::glEnableClientState(GL_VERTEX_ARRAY));
|
||||||
bool has_normals = buffer.vertices.normal_size_floats() > 0;
|
bool has_normals = buffer.vertices.normal_size_floats() > 0;
|
||||||
if (has_normals) {
|
if (has_normals) {
|
||||||
glsafe(::glNormalPointer(GL_FLOAT, buffer.vertices.vertex_size_bytes(), (const void*)buffer.vertices.normal_offset_size()));
|
glsafe(::glNormalPointer(GL_FLOAT, buffer.vertices.vertex_size_bytes(), (const void*)buffer.vertices.normal_offset_bytes()));
|
||||||
glsafe(::glEnableClientState(GL_NORMAL_ARRAY));
|
glsafe(::glEnableClientState(GL_NORMAL_ARRAY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3802,11 +3802,11 @@ void GCodeViewer::render_toolpaths() const
|
||||||
shader->start_using();
|
shader->start_using();
|
||||||
|
|
||||||
glsafe(::glBindBuffer(GL_ARRAY_BUFFER, cap.vbo));
|
glsafe(::glBindBuffer(GL_ARRAY_BUFFER, cap.vbo));
|
||||||
glsafe(::glVertexPointer(cap.buffer->vertices.position_size_floats(), GL_FLOAT, cap.buffer->vertices.vertex_size_bytes(), (const void*)cap.buffer->vertices.position_offset_size()));
|
glsafe(::glVertexPointer(cap.buffer->vertices.position_size_floats(), GL_FLOAT, cap.buffer->vertices.vertex_size_bytes(), (const void*)cap.buffer->vertices.position_offset_bytes()));
|
||||||
glsafe(::glEnableClientState(GL_VERTEX_ARRAY));
|
glsafe(::glEnableClientState(GL_VERTEX_ARRAY));
|
||||||
bool has_normals = cap.buffer->vertices.normal_size_floats() > 0;
|
bool has_normals = cap.buffer->vertices.normal_size_floats() > 0;
|
||||||
if (has_normals) {
|
if (has_normals) {
|
||||||
glsafe(::glNormalPointer(GL_FLOAT, cap.buffer->vertices.vertex_size_bytes(), (const void*)cap.buffer->vertices.normal_offset_size()));
|
glsafe(::glNormalPointer(GL_FLOAT, cap.buffer->vertices.vertex_size_bytes(), (const void*)cap.buffer->vertices.normal_offset_bytes()));
|
||||||
glsafe(::glEnableClientState(GL_NORMAL_ARRAY));
|
glsafe(::glEnableClientState(GL_NORMAL_ARRAY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -89,35 +89,20 @@ class GCodeViewer
|
||||||
size_t vertex_size_bytes() const { return vertex_size_floats() * sizeof(float); }
|
size_t vertex_size_bytes() const { return vertex_size_floats() * sizeof(float); }
|
||||||
|
|
||||||
size_t position_offset_floats() const { return 0; }
|
size_t position_offset_floats() const { return 0; }
|
||||||
size_t position_offset_size() const { return position_offset_floats() * sizeof(float); }
|
size_t position_offset_bytes() const { return position_offset_floats() * sizeof(float); }
|
||||||
size_t position_size_floats() const {
|
|
||||||
switch (format)
|
size_t position_size_floats() const { return 3; }
|
||||||
{
|
|
||||||
case EFormat::Position:
|
|
||||||
case EFormat::PositionNormal3: { return 3; }
|
|
||||||
case EFormat::PositionNormal1: { return 4; }
|
|
||||||
default: { return 0; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size_t position_size_bytes() const { return position_size_floats() * sizeof(float); }
|
size_t position_size_bytes() const { return position_size_floats() * sizeof(float); }
|
||||||
|
|
||||||
size_t normal_offset_floats() const {
|
size_t normal_offset_floats() const { return position_size_floats(); }
|
||||||
switch (format)
|
size_t normal_offset_bytes() const { return normal_offset_floats() * sizeof(float); }
|
||||||
{
|
|
||||||
case EFormat::Position:
|
|
||||||
case EFormat::PositionNormal1: { return 0; }
|
|
||||||
case EFormat::PositionNormal3: { return 3; }
|
|
||||||
default: { return 0; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size_t normal_offset_size() const { return normal_offset_floats() * sizeof(float); }
|
|
||||||
size_t normal_size_floats() const {
|
size_t normal_size_floats() const {
|
||||||
switch (format)
|
switch (format)
|
||||||
{
|
{
|
||||||
default:
|
case EFormat::PositionNormal1: { return 1; }
|
||||||
case EFormat::Position:
|
|
||||||
case EFormat::PositionNormal1: { return 0; }
|
|
||||||
case EFormat::PositionNormal3: { return 3; }
|
case EFormat::PositionNormal3: { return 3; }
|
||||||
|
default: { return 0; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
size_t normal_size_bytes() const { return normal_size_floats() * sizeof(float); }
|
size_t normal_size_bytes() const { return normal_size_floats() * sizeof(float); }
|
||||||
|
|
Loading…
Add table
Reference in a new issue