now you can set optional ogl version through the first 2 parameters
This commit is contained in:
parent
9d35634c0c
commit
bc518f58ee
@ -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 gluiInstanceBufferID;
|
||||
GLuint gluiVertexBufferID;
|
||||
GLuint gluiVertexArrayID = 0;
|
||||
GLuint gluiVertexBufferID = 0;
|
||||
GLuint gluiInstanceBufferID = 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.0f;
|
||||
float fMinView = 0.1f;
|
||||
float fMaxView = 100.0f;
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -89,7 +89,6 @@ private:
|
||||
private:
|
||||
void processInit();
|
||||
|
||||
void initDefault();
|
||||
void startGLFW();
|
||||
void createWindow();
|
||||
void startGLEW();
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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.0f;
|
||||
fMinView = 0.1f;
|
||||
fMaxView = 100.0f;
|
||||
}
|
||||
|
||||
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 += "\nTry to use older version";
|
||||
message += std::to_string(iOglMinorVersion);
|
||||
message += "\nTry to use an other version";
|
||||
|
||||
MessageBox(NULL, message.c_str(), "MeshViewer 2.0 Error", MB_OK | MB_ICONERROR);
|
||||
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user