コード例 #1
0
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;
}
コード例 #2
0
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); 
}
コード例 #3
0
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;
}
コード例 #4
0
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;
}