コード例 #1
0
ファイル: graphics.cpp プロジェクト: zimagic/irrlamb
// 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();
	}
}
コード例 #2
0
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();
    }
}
コード例 #3
0
ファイル: graphics.cpp プロジェクト: vinjn/irrlamb
// 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();
	}
}
コード例 #4
0
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;
}