Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
OpenGL
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Requirements
Requirements
List
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Insights
Issue
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
C-Fu
OpenGL
Commits
fbb51563
Commit
fbb51563
authored
Jan 30, 2017
by
Anakin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed backface culling bug,
todo: connect headligh
parent
538453c1
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
15 additions
and
16 deletions
+15
-16
QtMeshViewer/Form Files/SettingsWindow.ui
QtMeshViewer/Form Files/SettingsWindow.ui
+0
-3
QtMeshViewer/Header/GeometryEngine.h
QtMeshViewer/Header/GeometryEngine.h
+1
-1
QtMeshViewer/Header/OglViewerWidget.h
QtMeshViewer/Header/OglViewerWidget.h
+1
-0
QtMeshViewer/Source/GeometryEngine.cpp
QtMeshViewer/Source/GeometryEngine.cpp
+1
-5
QtMeshViewer/Source/OglViewerWidget.cpp
QtMeshViewer/Source/OglViewerWidget.cpp
+12
-7
No files found.
QtMeshViewer/Form Files/SettingsWindow.ui
View file @
fbb51563
...
...
@@ -530,9 +530,6 @@
<property
name=
"text"
>
<string>
Backface Culling
</string>
</property>
<property
name=
"checked"
>
<bool>
true
</bool>
</property>
</widget>
</item>
</layout>
...
...
QtMeshViewer/Header/GeometryEngine.h
View file @
fbb51563
...
...
@@ -36,7 +36,7 @@ private:
void
clearData
();
public:
void
drawGeometry
(
QOpenGLShaderProgram
*
program
,
bool
wireframe
);
void
drawGeometry
(
QOpenGLShaderProgram
*
program
);
void
loadFile
(
QString
filePath
);
// signals
...
...
QtMeshViewer/Header/OglViewerWidget.h
View file @
fbb51563
...
...
@@ -27,6 +27,7 @@ private:
bool
m_wireframe
=
false
;
bool
m_lightOn
=
false
;
bool
m_backfaceCulling
=
false
;
struct
{
QVector4D
position
=
{
1
,
1
,
1
,
0
};
...
...
QtMeshViewer/Source/GeometryEngine.cpp
View file @
fbb51563
...
...
@@ -51,7 +51,7 @@ void GeometryEngine::clearData()
m_drawList
.
clear
();
}
void
GeometryEngine
::
drawGeometry
(
QOpenGLShaderProgram
*
program
,
bool
wireframe
)
void
GeometryEngine
::
drawGeometry
(
QOpenGLShaderProgram
*
program
)
{
if
(
!
m_arrayBuf
.
isCreated
()
||
!
m_indexBuf
.
isCreated
())
return
;
...
...
@@ -133,12 +133,8 @@ void GeometryEngine::drawGeometry(QOpenGLShaderProgram *program, bool wireframe)
program
->
setUniformValue
(
"materialSpecularColor"
,
specularColor
);
// Draw cube geometry using indices from VBO 1
if
(
wireframe
)
glPolygonMode
(
GL_FRONT_AND_BACK
,
GL_LINE
);
glDrawElements
(
GL_TRIANGLES
,
it
.
size
,
GL_UNSIGNED_INT
,
(
void
*
)(
it
.
offset
*
sizeof
(
GLuint
)));
glPolygonMode
(
GL_FRONT_AND_BACK
,
GL_FILL
);
}
}
...
...
QtMeshViewer/Source/OglViewerWidget.cpp
View file @
fbb51563
...
...
@@ -94,7 +94,7 @@ void OglViewerWidget::initializeGL()
//TODO: does not work
// Enable back face culling
glEnable
(
GL_CULL_FACE
);
//
glEnable(GL_CULL_FACE);
// Enable transparency
glEnable
(
GL_BLEND
);
...
...
@@ -164,7 +164,16 @@ void OglViewerWidget::paintGL()
m_program
.
setUniformValue
(
"cameraPosition"
,
rotateBack
*
(
-
m_translation
));
// Draw cube geometry
m_dataEngine
->
drawGeometry
(
&
m_program
,
m_wireframe
);
if
(
m_backfaceCulling
)
glEnable
(
GL_CULL_FACE
);
if
(
m_wireframe
)
glPolygonMode
(
GL_FRONT_AND_BACK
,
GL_LINE
);
m_dataEngine
->
drawGeometry
(
&
m_program
);
glDisable
(
GL_CULL_FACE
);
glPolygonMode
(
GL_FRONT_AND_BACK
,
GL_FILL
);
}
// Inputs ///////////////////////////////////////////////////////////////
...
...
@@ -410,11 +419,7 @@ void OglViewerWidget::setAmbCoef(double value)
void
OglViewerWidget
::
setBackfaceCulling
(
bool
value
)
{
if
(
value
)
glCullFace
(
GL_FRONT_AND_BACK
);
else
if
(
!
value
)
glCullFace
(
GL_FRONT
);
m_backfaceCulling
=
value
;
update
();
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment