*** empty log message ***
This was SVN commit r1297.
This commit is contained in:
parent
82108a30c9
commit
11900f8b38
@ -17,41 +17,21 @@ CVertexProgram::CVertexProgram(const char *file)
|
||||
|
||||
CVertexProgram::~CVertexProgram()
|
||||
{
|
||||
#ifdef BUILD_CG
|
||||
if(m_Program)
|
||||
cgDestroyProgram(m_Program);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool CVertexProgram::IsValid()
|
||||
{
|
||||
#ifdef BUILD_CG
|
||||
return (m_Program != NULL);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
void CVertexProgram::Bind()
|
||||
{
|
||||
#ifdef BUILD_CG
|
||||
if(!IsValid())
|
||||
return;
|
||||
|
||||
EnumParameters(CG_GLOBAL);
|
||||
EnumParameters(CG_PROGRAM);
|
||||
|
||||
if(!cgGLIsProgramLoaded(m_Program))
|
||||
cgGLLoadProgram(m_Program);
|
||||
|
||||
cgGLBindProgram(m_Program);
|
||||
#endif
|
||||
}
|
||||
|
||||
void CVertexProgram::Load(const char *file)
|
||||
{
|
||||
#ifdef BUILD_CG
|
||||
m_Program = NULL;
|
||||
/* m_Program = NULL;
|
||||
if(!file || !vfs_exists(file) || g_ProgramManager.GetVPProfile() == CG_PROFILE_UNKNOWN)
|
||||
return;
|
||||
|
||||
@ -79,49 +59,6 @@ void CVertexProgram::Load(const char *file)
|
||||
{
|
||||
LOG(ERROR, LOG_CATEGORY, "CVertexShader::LoadShader: Could not compile Cg shader: %s", cgGetErrorString(cgGetError()));
|
||||
return;
|
||||
}
|
||||
}*/
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef BUILD_CG
|
||||
|
||||
void CVertexProgram::EnumParameters(CGenum ns)
|
||||
{
|
||||
CGparameter param = cgGetFirstParameter(m_Program, ns);
|
||||
while(param)
|
||||
{
|
||||
PushParameter(param);
|
||||
param = cgGetNextParameter(param);
|
||||
}
|
||||
}
|
||||
|
||||
void CVertexProgram::PushParameter(CGparameter param)
|
||||
{
|
||||
assert(param);
|
||||
|
||||
std::string name = cgGetParameterName(param);
|
||||
if(name == "ModelViewProj")
|
||||
cgGLSetStateMatrixParameter(param, CG_GL_MODELVIEW_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY);
|
||||
else if(name == "ModelView")
|
||||
cgGLSetStateMatrixParameter(param, CG_GL_MODELVIEW_MATRIX, CG_GL_MATRIX_IDENTITY);
|
||||
else if(name == "Projection")
|
||||
cgGLSetStateMatrixParameter(param, CG_GL_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY);
|
||||
else if(name == "Texture")
|
||||
cgGLSetStateMatrixParameter(param, CG_GL_TEXTURE_MATRIX, CG_GL_MATRIX_IDENTITY);
|
||||
else if(name == "SunDir")
|
||||
{
|
||||
cgGLSetParameterPointer(
|
||||
param, sizeof(CVector3D), GL_FLOAT, sizeof(float), &g_Renderer.GetLightEnv().m_SunDir.X
|
||||
);
|
||||
}
|
||||
else if(name == "SunColor")
|
||||
{
|
||||
cgGLSetParameterPointer(
|
||||
param, sizeof(CVector3D), GL_FLOAT, sizeof(float), &g_Renderer.GetLightEnv().m_SunColor.X
|
||||
);
|
||||
}
|
||||
else
|
||||
LOG(WARNING, LOG_CATEGORY, "CVertexShader::LoadShader: Unknown parameter name: %s", name.c_str());
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -1,16 +1,7 @@
|
||||
#ifndef __H_VERTEXPROGRAM_H__
|
||||
#define __H_VERTEXPROGRAM_H__
|
||||
|
||||
#ifdef BUILD_CG
|
||||
|
||||
#pragma comment(lib, "cg.lib")
|
||||
#pragma comment(lib, "cgGL.lib")
|
||||
|
||||
#include "ogl.h"
|
||||
#include "Cg/Cg.h"
|
||||
#include "Cg/cgGL.h"
|
||||
|
||||
#endif
|
||||
|
||||
class CProgramManager;
|
||||
|
||||
@ -25,11 +16,6 @@ public:
|
||||
private:
|
||||
void Bind();
|
||||
void Load(const char *file);
|
||||
#ifdef BUILD_CG
|
||||
void EnumParameters(CGenum ns);
|
||||
void PushParameter(CGparameter param);
|
||||
CGprogram m_Program;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user