bool OGLCameraClass::Initialize() { if(m_pGraphicsClass == nullptr) throw NullArgumentException("OGLCameraClass", "Initialize", "m_pGraphicsClass"); OGLGraphicsClass* pGraphicsClass = (OGLGraphicsClass*)m_pGraphicsClass; int nScreenWidth, nScreenHeight; pGraphicsClass->GetScreenProperties(nScreenWidth, nScreenHeight); //GL COMMENTED OUT FOR BUILD. //glMatrixMode(GL_PROJECTION); //glLoadIdentity(); float screenDepth = 1000.0f; float screenNear = 0.1f; // Setup the projection matrix. float fieldOfView = (float)OGL_PI / 4.0f; float screenAspect = (float)nScreenWidth / (float)nScreenHeight; //GL COMMENTED OUT FOR BUILD. // Create the projection matrix for 3D rendering. //glm::mat4 Projection = glm::perspective(fieldOfView, screenAspect, screenNear, screenDepth); //GL COMMENTED OUT FOR BUILD. // Initialize the world matrix to the identity matrix. //glMatrixMode(GL_MODELVIEW); //glLoadIdentity(); return true; }
void OGLModelClass::Render(IShader* pShader, float fElapsedTime) { if(m_pGraphicsClass == NULL) throw NullArgumentException("OGLModelClass", "Render", "m_pGraphicsClass"); OGLGraphicsClass* pGraphicsClass = (OGLGraphicsClass*)m_pGraphicsClass; OGLCameraClass* pMasterCamera = (OGLCameraClass*)pGraphicsClass->GetMasterCamera(); if(pMasterCamera == NULL) throw Exception("OGLModelClass", "Render", "There is no master camera. You need a camera to see!"); //Render a shader if one was provided...if not good luck! if (pShader != NULL) pShader->Render(fElapsedTime); glLoadIdentity(); glTranslatef(0.0f, 0.0f, -10.0f); glColor4f(1.0f, 1.0f, 1.0f, 0.5f); glVertex3f(-3.0f, 3.0f, 0.0f); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glVertex3f(3.0f, 3.0f, 0.0f); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glVertex3f(-3.0f, -3.0f, 0.0f); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glVertex3f(3.0f, 3.0f, 0.0f); glColor4f(1.0f, 1.0f, 1.0f, 0.2f); glVertex3f(3.0f, -3.0f, 0.0f); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glVertex3f(-3.0f, -3.0f, 0.0f); }
bool OGLModelClass::Initialize() { if(m_pGraphicsClass == NULL) throw NullArgumentException("OGLModelClass", "Initialize", "m_pGraphicsClass"); OGLGraphicsClass* pGraphicsClass = (OGLGraphicsClass*)m_pGraphicsClass; std::string rootPath = pGraphicsClass->GetSystem()->GetCurrentApplicationDirectory(); std::string fileName = rootPath; fileName.append("/Media/coookeee.jpg"); std::wstring fileNameW(fileName.begin(), fileName.end()); //glTexImage2D(GL_TEXTURE_2D, 0, 3, SCREEN_WIDTH, SCREEN_HEIGHT, 0, GL_RGB, GL_UNSIGNED_BYTE, (GLvoid*)screenData); return true; }
bool OGLShaderClass::Initialize(std::string sFileName) { if(sFileName.length() == 0) throw NullArgumentException("OGLShaderClass", "Initialize", "sFileName"); //Post-Condition Note: This should never be null as only constructor requires this class to be passed as valid (non-null). OGLGraphicsClass* pGraphicsClass = (OGLGraphicsClass*)m_pGraphicsClass; // Compile the vertex shader code. std::string rootPath = pGraphicsClass->GetSystem()->GetCurrentApplicationDirectory(); std::string vertexShaderPath = rootPath; vertexShaderPath.append("/Shaders/DirectX11/"); vertexShaderPath.append(sFileName); std::wstring vertexShaderPathW(vertexShaderPath.begin(), vertexShaderPath.end()); return true; }