OpenGLController: moved some code around
shader: throw errors
This commit is contained in:
@@ -99,34 +99,6 @@ void OpenGLController::processInit()
|
||||
|
||||
// draw vertics only from one side
|
||||
glEnable(GL_CULL_FACE);
|
||||
|
||||
// generate stuff
|
||||
glGenVertexArrays(1, &gluiVertexArrayID);
|
||||
glBindVertexArray(gluiVertexArrayID);
|
||||
|
||||
glGenBuffers(1, &gluiVertexBufferID);
|
||||
glGenBuffers(1, &gluiUVBufferID);
|
||||
|
||||
gluiShaderPrgmID = LoadShaders(VERTEX_SHADER, FRAGMENT_SHADER);
|
||||
|
||||
gluiMatrixID = glGetUniformLocation(gluiShaderPrgmID, "MVP");
|
||||
gluiSamplerID = glGetUniformLocation(gluiShaderPrgmID, "textureSampler");
|
||||
|
||||
vfVertices = loadData();
|
||||
vfUV = loadUV();
|
||||
|
||||
glGenTextures(1, &gluiTextureID);
|
||||
glBindTexture(GL_TEXTURE_2D, gluiTextureID);
|
||||
TextureTGA tempTex(TEXTURE_NAME);
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, tempTex.hasAlpha() ? GL_RGBA : GL_RGB, tempTex.getWidth(), tempTex.getHeight(), 0, tempTex.hasAlpha() ? GL_BGRA : GL_BGR, GL_UNSIGNED_BYTE, tempTex.getData().data());
|
||||
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
|
||||
glGenerateMipmap(GL_TEXTURE_2D);
|
||||
|
||||
loadMsh("");
|
||||
}
|
||||
|
||||
void OpenGLController::startGLFW()
|
||||
@@ -287,6 +259,40 @@ void OpenGLController::updateScene()
|
||||
|
||||
void OpenGLController::loadMsh(const char * path)
|
||||
{
|
||||
// generate stuff
|
||||
glGenVertexArrays(1, &gluiVertexArrayID);
|
||||
glBindVertexArray(gluiVertexArrayID);
|
||||
|
||||
glGenBuffers(1, &gluiVertexBufferID);
|
||||
glGenBuffers(1, &gluiUVBufferID);
|
||||
|
||||
try
|
||||
{
|
||||
gluiShaderPrgmID = LoadShaders(VERTEX_SHADER, FRAGMENT_SHADER);
|
||||
}
|
||||
catch (std::invalid_argument e)
|
||||
{
|
||||
MessageBox(NULL, e.what(), "MeshViewer 2.0 Error", MB_OK | MB_ICONERROR);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
gluiMatrixID = glGetUniformLocation(gluiShaderPrgmID, "MVP");
|
||||
gluiSamplerID = glGetUniformLocation(gluiShaderPrgmID, "textureSampler");
|
||||
|
||||
// get data
|
||||
vfVertices = loadData();
|
||||
vfUV = loadUV();
|
||||
|
||||
glGenTextures(1, &gluiTextureID);
|
||||
glBindTexture(GL_TEXTURE_2D, gluiTextureID);
|
||||
TextureTGA tempTex(TEXTURE_NAME);
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, tempTex.hasAlpha() ? GL_RGBA : GL_RGB, tempTex.getWidth(), tempTex.getHeight(), 0, tempTex.hasAlpha() ? GL_BGRA : GL_BGR, GL_UNSIGNED_BYTE, tempTex.getData().data());
|
||||
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
|
||||
glGenerateMipmap(GL_TEXTURE_2D);
|
||||
|
||||
glBindBuffer(GL_ARRAY_BUFFER, gluiVertexBufferID);
|
||||
glBufferData(
|
||||
|
Reference in New Issue
Block a user