// Load all shaders void _Graphics::LoadShaders() { // Create shader materials if(ShadersSupported && CustomMaterial == -1) { ShaderCallback *Shader = new ShaderCallback(); CustomMaterial = irrDriver->getGPUProgrammingServices()->addHighLevelShaderMaterialFromFiles("shaders/lighting.vert", "main", EVST_VS_1_1, "shaders/lighting.frag", "main", EPST_PS_1_1, Shader, EMT_SOLID); Shader->drop(); } }
GLSLMaterial::GLSLMaterial() { vsFileName = "./shaders/particle.vert"; psFileName = "./shaders/particle.frag"; if(IRR.gpu) { ShaderCallback * shaderCallback = new ShaderCallback(); MatID = IRR.gpu->addHighLevelShaderMaterialFromFiles( vsFileName, "vertexMain", irr::video::EVST_VS_1_1, psFileName, "pixelMain", irr::video::EPST_PS_1_1, shaderCallback, video::EMT_TRANSPARENT_ALPHA_CHANNEL); shaderCallback->drop(); } }
// Load all shaders void _Graphics::LoadShaders() { // Create shader materials if(ShadersSupported) { ShaderCallback *Shader = new ShaderCallback(); if(CustomMaterial[0] == -1) { CustomMaterial[0] = irrDriver->getGPUProgrammingServices()->addHighLevelShaderMaterialFromFiles( "shaders/lighting.vert", "main", video::EVST_VS_1_1, "shaders/lighting.frag", "main", video::EPST_PS_1_1, Shader, video::EMT_SOLID); } if(CustomMaterial[1] == -1) { CustomMaterial[1] = irrDriver->getGPUProgrammingServices()->addHighLevelShaderMaterialFromFiles( "shaders/lighting.vert", "main", video::EVST_VS_1_1, "shaders/lighting.frag", "main", video::EPST_PS_1_1, Shader, video::EMT_TRANSPARENT_ALPHA_CHANNEL); } Shader->drop(); } }
bool VoxelSceneNode::Initialize() { printf("Loading Terrain Document\n"); noiseTree.loadFile("basicTerrain.xml"); printf("Terrain Loaded\n"); if(IRR.gpu) { vsFileName = "./shaders/terrain.vert.glsl"; psFileName = "./shaders/terrain.frag.glsl"; ShaderCallback * shaderCallback = new ShaderCallback(); terrainMaterial = IRR.gpu->addHighLevelShaderMaterialFromFiles( vsFileName, "vertexMain", irr::video::EVST_VS_3_0, psFileName, "pixelMain", irr::video::EPST_PS_3_0, shaderCallback, irr::video::EMT_SOLID); shaderCallback->drop(); } Material.setFlag(irr::video::EMF_BACK_FACE_CULLING, false); Material.setFlag(irr::video::EMF_WIREFRAME, false); Material.setFlag(irr::video::EMF_LIGHTING, false); Material.MaterialType = (video::E_MATERIAL_TYPE) terrainMaterial; setMaterialTexture(1, IRR.driver->getTexture("./resources/UV_mapper.jpg")); setMaterialTexture(2, IRR.driver->getTexture("./resources/UV_mapper.jpg")); dirty = true; return true; }