Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
C-Fu
OpenGL
Commits
bc518f58
Commit
bc518f58
authored
Nov 01, 2016
by
Anakin
Browse files
now you can set optional ogl version through the first 2 parameters
parent
9d35634c
Changes
4
Hide whitespace changes
Inline
Side-by-side
MshViewer/Header/OpenGLController.h
View file @
bc518f58
...
...
@@ -10,7 +10,7 @@
#define VERTEX_INDEX_UV 1
#define VERTEX_COMPONENTS_XYZ 3
#define VERTEX_COMPONENTS_UV
4
#define VERTEX_COMPONENTS_UV
2
#define VERTEX_SIZE_XYZ (sizeof(float) * VERTEX_COMPONENTS_XYZ)
#define VERTEX_SIZE_UV (sizeof(float) * VERTEX_COMPONENTS_UV)
...
...
@@ -39,49 +39,49 @@ private:
// member
private:
// window
GLFWwindow
*
pWindow
;
std
::
string
sWindowName
;
int
iWidth
;
int
iHeight
;
GLFWwindow
*
pWindow
=
NULL
;
std
::
string
sWindowName
=
"MeshViewer 2.0 pre-alpha"
;
int
iWidth
=
640
;
int
iHeight
=
480
;
// init glfw
int
iOglMajorVersion
;
int
iOglMinorVersion
;
int
iAntiAliasingLevel
;
int
iOglMajorVersion
=
4
;
int
iOglMinorVersion
=
5
;
int
iAntiAliasingLevel
=
4
;
// IDs ==========================
// IDs ==========================
==========
//object data
GLuint
gluiVertexArrayID
;
GLuint
glui
Instance
BufferID
;
GLuint
glui
Vertex
BufferID
;
GLuint
gluiVertexArrayID
=
0
;
GLuint
glui
Vertex
BufferID
=
0
;
GLuint
glui
Instance
BufferID
=
0
;
//obj color
GLuint
gluiTextureID
;
GLuint
gluiShaderPrgmID
;
GLuint
gluiSamplerID
;
GLuint
gluiTextureID
=
0
;
GLuint
gluiShaderPrgmID
=
0
;
GLuint
gluiSamplerID
=
0
;
//obj transformation
GLuint
gluiMatrixID
;
// ==============================
GLuint
gluiMatrixID
=
0
;
// ==============================
==========
// data
std
::
vector
<
Modl
*>
vModels
;
// transformation ===============
// transformation ===============
==========
//values
float
fRotationX
;
float
fRotationY
;
float
fRotationZ
;
double
dTranslationX
;
double
dTranslationY
;
double
dTranslationZ
;
float
fRotationX
=
0
;
float
fRotationY
=
0
;
float
fRotationZ
=
0
;
double
dTranslationX
=
0
;
double
dTranslationY
=
0
;
double
dTranslationZ
=
5
;
// ==============================
// ==============================
==========
// camera
float
fFOV
;
float
fMinView
;
float
fMaxView
;
float
fFOV
=
45.0
f
;
float
fMinView
=
0.1
f
;
float
fMaxView
=
100.0
f
;
////////////////////////////////////////////////////////////////////////////////////////////
...
...
@@ -89,7 +89,6 @@ private:
private:
void
processInit
();
void
initDefault
();
void
startGLFW
();
void
createWindow
();
void
startGLEW
();
...
...
MshViewer/Shader/VertexTextureShader.mv2shdr
View file @
bc518f58
...
...
@@ -14,7 +14,7 @@ uniform mat4 MVP;
void main(){
// Output position of the vertex, in clip space : MVP * position
gl_Position = MVP * vec4(vertexPosition_modelspace,1);
gl_Position = MVP * vec4(vertexPosition_modelspace,
1);
UV = vertexUV;
...
...
MshViewer/Source/OpenGlController.cpp
View file @
bc518f58
...
...
@@ -50,8 +50,7 @@ OpenGLController::~OpenGLController()
OpenGLController
::
OpenGLController
(
int
oglMajor
,
int
oglMinor
)
{
// init variables
initDefault
();
// adjust ogl version optional
iOglMajorVersion
=
oglMajor
;
iOglMinorVersion
=
oglMinor
;
...
...
@@ -62,34 +61,6 @@ OpenGLController::OpenGLController(int oglMajor, int oglMinor)
/////////////////////////////////////////////////////////////////////////
// private functions
void
OpenGLController
::
initDefault
()
{
pWindow
=
NULL
;
sWindowName
=
"MeshViewer 2.0 pre-alpha"
;
iWidth
=
640
;
iHeight
=
480
;
iAntiAliasingLevel
=
4
;
gluiInstanceBufferID
=
0
;
gluiTextureID
=
0
;
gluiShaderPrgmID
=
0
;
gluiSamplerID
=
0
;
gluiMatrixID
=
0
;
fRotationX
=
0
;
fRotationY
=
0
;
fRotationZ
=
0
;
dTranslationX
=
0
;
dTranslationY
=
0
;
dTranslationZ
=
5
;
fFOV
=
45.0
f
;
fMinView
=
0.1
f
;
fMaxView
=
100.0
f
;
}
void
OpenGLController
::
processInit
()
{
startGLFW
();
...
...
@@ -159,10 +130,10 @@ void OpenGLController::createWindow()
if
(
pWindow
==
NULL
)
{
std
::
string
message
=
"Your GPU does not support OpenGL "
;
message
+=
iOglMajorVersion
;
message
+=
std
::
to_string
(
iOglMajorVersion
)
;
message
+=
"."
;
message
+=
iOglMinorVersion
;
message
+=
"
\n
Try to use
old
er version"
;
message
+=
std
::
to_string
(
iOglMinorVersion
)
;
message
+=
"
\n
Try to use
an oth
er version"
;
MessageBox
(
NULL
,
message
.
c_str
(),
"MeshViewer 2.0 Error"
,
MB_OK
|
MB_ICONERROR
);
...
...
MshViewer/main.cpp
View file @
bc518f58
...
...
@@ -9,6 +9,18 @@
int
main
(
int
argc
,
char
**
argv
)
{
OpenGLController
*
scene
=
NULL
;
if
(
argc
==
3
)
{
int
major
=
atoi
(
argv
[
1
]);
int
minor
=
atoi
(
argv
[
2
]);
scene
=
OpenGLController
::
getInstance
(
major
,
minor
);
}
else
scene
=
OpenGLController
::
getInstance
();
goto
openGL
;
try
{
...
...
@@ -26,8 +38,6 @@ int main(int argc, char** argv)
openGL:
OpenGLController
*
scene
=
OpenGLController
::
getInstance
();
scene
->
loadMsh
(
"..
\\
Release
\\
Msh
\\
cubeTrans.msh"
);
do
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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