

Fragment Shader
Code: Select all
varying vec3 normal;
void main (void){
vec3 n,lightDir;
lightDir=vec3(0,0,1);
float d;
n = normalize(normal);
d = abs(dot(n,normalize(lightDir)));
d=d/270.0;
gl_FragColor = vec4(d*d*65536.0,max(d*d*524288.0,50),d*d*65536.0,255);
}
Code: Select all
varying vec3 normal;
void main(void){
normal = normalize(gl_NormalMatrix * gl_Normal);
gl_Position = ftransform();
}example:
Code: Select all
laserMaterial=gpu->addHighLevelShaderMaterialFromFiles(vertexShader,"vertexMain",video::EVST_VS_1_1,pixelShader,"pixelMain", video::EPST_PS_1_1,sc,video::EMT_TRANSPARENT_ADD_COLOR);
ISceneNode* laser=smgr->addMeshSceneNode(mesh,0,0,vector3df(0,100,0),vector3df(0),vector3df(1,10,1),false);
laser->setMaterialFlag(EMF_LIGHTING,false);
laser->setMaterialType((E_MATERIAL_TYPE)laserMaterial);