void FreezeParticle::InitializeFreezeParticleShader() { TextureLoader textureLoader; glTexture FreezeParticleTexture; FreezeParticleProfile = cgGLGetLatestProfile(CG_GL_FRAGMENT); cgGLSetOptimalOptions(FreezeParticleProfile); CheckForCgError("FreezeParticle", "selecting fragment profile"); FreezeParticleProgram = cgCreateProgramFromFile(ShaderContext, CG_SOURCE, "assets/pixelshaders/ps_freezeparticle.cg", FreezeParticleProfile, "pixelMain", 0); CheckForCgError("FreezeParticle", "creating fragment program from file"); cgGLLoadProgram(FreezeParticleProgram); CheckForCgError("FreezeParticle", "loading fragment program"); FreezeParticleCoord0 = cgGetNamedParameter(FreezeParticleProgram, "texcoord0"); textureLoader.LoadTextureFromDisk("assets/textures/weapon/freezeparticle.tga", &FreezeParticleTexture); FreezeParticleText1 = cgGetNamedParameter(FreezeParticleProgram, "text1"); cgGLSetTextureParameter(FreezeParticleText1, FreezeParticleTexture.TextureID); CheckForCgError("FreezeParticle", "setting decal 2D texture"); }
void Skydome::InitializeSkydomeShaders() { TextureLoader textureLoader; glTexture daySky, nightSky, redSky, sun, sunMask; textureLoader.LoadTextureFromDisk("assets/textures/sky/clouds2.tga", &daySky); textureLoader.LoadTextureFromDisk("assets/textures/sky/night.tga", &nightSky); textureLoader.LoadTextureFromDisk("assets/textures/sky/red.tga", &redSky); /* //Vertext Shader profile vsSkydomeProfile = cgGLGetLatestProfile(CG_GL_VERTEX); //Set profile cgGLSetOptimalOptions(vsFireballProfile); CheckForCgError("skydome", "selecting vertex profile"); //Load vertex shader vsFireballProgram = cgCreateProgramFromFile(ShaderContext, CG_SOURCE, "assets/vertexshaders/vs_fireball.cg", vsFireballProfile, "vertMain", 0); CheckForCgError("skydome", "creating vertex program from file"); cgGLLoadProgram(vsFireballProgram); CheckForCgError("skydome", "loading vertex program"); texVert = cgGetNamedParameter(vsFireballProgram, "texCoordIN"); position = cgGetNamedParameter(vsFireballProgram, "posIN"); move = cgGetNamedParameter(vsFireballProgram, "move"); mvMatrix = cgGetNamedParameter(vsFireballProgram, "ModelViewProj"); */ ///////////////////////////// //Pixel Shader psSkydomeProfile = cgGLGetLatestProfile(CG_GL_FRAGMENT); cgGLSetOptimalOptions(psSkydomeProfile); CheckForCgError("skydome", "selecting Skydome fragment profile"); psSkydomeProgram = cgCreateProgramFromFile(ShaderContext, CG_SOURCE, "assets/pixelshaders/ps_skydome.cg", psSkydomeProfile, "pixelMain", 0); CheckForCgError("skydome", "creating fragment program from file"); cgGLLoadProgram(psSkydomeProgram); CheckForCgError("skydome", "loading fragment program"); texcoord0 = cgGetNamedParameter(psSkydomeProgram, "texcoord0"); dayTime = cgGetNamedParameter(psSkydomeProgram, "lightdist"); transition = cgGetNamedParameter(psSkydomeProgram, "transition"); text1 = cgGetNamedParameter(psSkydomeProgram, "text1"); cgGLSetTextureParameter(text1, daySky.TextureID); text2 = cgGetNamedParameter(psSkydomeProgram, "text2"); cgGLSetTextureParameter(text2, nightSky.TextureID); text3 = cgGetNamedParameter(psSkydomeProgram, "text3"); cgGLSetTextureParameter(text3, redSky.TextureID); CheckForCgError("skydome", "setting decal 2D texture"); textureLoader.LoadTextureFromDisk("assets/textures/sky/sun.tga", &sun); textureLoader.LoadTextureFromDisk("assets/textures/sky/sunmask.tga", &sunMask); psSkydomeSunProfile = cgGLGetLatestProfile(CG_GL_FRAGMENT); cgGLSetOptimalOptions(psSkydomeSunProfile); CheckForCgError("skydome", "selecting Skydome sun fragment profile"); psSkydomeSunProgram = cgCreateProgramFromFile(ShaderContext, CG_SOURCE, "assets/pixelshaders/ps_skydomeSun.cg", psSkydomeSunProfile, "pixelMain", 0); CheckForCgError("skydome", "creating fragment program from file"); cgGLLoadProgram(psSkydomeSunProgram); CheckForCgError("skydome", "loading fragment program"); texcoord0 = cgGetNamedParameter(psSkydomeSunProgram, "texcoord0"); suntext1 = cgGetNamedParameter(psSkydomeSunProgram, "text1"); cgGLSetTextureParameter(suntext1, sun.TextureID); suntext2 = cgGetNamedParameter(psSkydomeSunProgram, "text2"); cgGLSetTextureParameter(suntext2, sunMask.TextureID); CheckForCgError("skydome", "setting decal 2D texture"); //Temporarily Unbind Texture //glDisable(GL_TEXTURE_2D); //glDisable(GL_BLEND); // Disable Blending //glBindTexture(GL_TEXTURE_2D,0); }
void Sarge::InitializeSargeShaders() { TextureLoader textureLoader; ///////////////////////////// //Vertex Shader vsSargeProfile = cgGLGetLatestProfile(CG_GL_VERTEX); cgGLSetOptimalOptions(vsSargeProfile); CheckForCgError("sarge", "selecting vertex profile"); vsSargeProgram = cgCreateProgramFromFile(ShaderContext, CG_SOURCE, "assets/vertexshaders/vs_sarge.cg", vsSargeProfile, "sargeVertexShader", 0); CheckForCgError("sarge", "creating vertex program from file"); cgGLLoadProgram(vsSargeProgram); CheckForCgError("sarge", "loading vertex program"); ////////////////////////////// //Pixel Shader psSargeProfile = cgGLGetLatestProfile(CG_GL_FRAGMENT); cgGLSetOptimalOptions(psSargeProfile); CheckForCgError("sarge", "selecting pixel profile"); psSargeProgram = cgCreateProgramFromFile(ShaderContext, CG_SOURCE, "assets/pixelshaders/ps_sarge.cg", psSargeProfile, "sargeLightMap", 0); CheckForCgError("sarge", "creating fragment program from file"); cgGLLoadProgram(psSargeProgram); CheckForCgError("sarge", "loading fragment program"); modelViewProj = cgGetNamedParameter(vsSargeProgram, "modelViewProj"); lightViewProj = cgGetNamedParameter(vsSargeProgram, "lightViewProj"); vertin = cgGetNamedParameter(vsSargeProgram, "vertin"); lightPosition = cgGetNamedParameter(vsSargeProgram, "lightPosition"); fragin = cgGetNamedParameter(psSargeProgram, "fragin"); eyevector = cgGetNamedParameter(psSargeProgram, "eyevector"); CheckForCgError("sarge", "getting parameters"); textureLoader.LoadTextureFromDisk("assets/textures/shadermaps/sarge_normalmap.tga", &sargeNormalTexture); textureLoader.LoadTextureFromDisk("assets/textures/shadermaps/sarge_colormap.tga", &sargeColorTexture); //textureLoader.LoadTextureFromDisk("assets/textures/weapon/fire1.tga", &sargeColorTexture); normalmap = cgGetNamedParameter(psSargeProgram, "normalmap"); cgGLSetTextureParameter(normalmap, sargeNormalTexture.TextureID); decalmap = cgGetNamedParameter(psSargeProgram, "decalmap"); cgGLSetTextureParameter(decalmap, sargeColorTexture.TextureID); CheckForCgError("sarge", "setting decal 2D texture"); /* decalmap = cgGetNamedParameter(psSargeProgram, "decalmap"); cgGLSetTextureParameter(text1, sargeColorTexture.TextureID); CheckForCgError("sarge", "setting decal 2D texture"); */ mMeshObject.Scale(1.6f); }