; EntityShader Example ; -------------------- ; Requires Extended mode. Graphics3D 640,480,0,2 SetBuffer BackBuffer() camera=CreateCamera() PositionEntity camera,0,0,-5 light=CreateLight() RotateEntity light,35,-30,0 ; Load a material shader for the cube shader=LoadShader("assets/help_surface.b3shader") cube=CreateCube() attached=True While Not KeyDown(1) ; Press Space to attach or remove the entity shader If KeyHit(57) Then attached=Not attached ; Apply the shader to every surface of the cube (zero removes it) If attached Then EntityShader cube,shader Else EntityShader cube,0 TurnEntity cube,0.2,0.4,0 ; Arrow keys move the camera If KeyDown(200) Then MoveEntity camera,0,0,0.1 If KeyDown(208) Then MoveEntity camera,0,0,-0.1 If KeyDown(203) Then TurnEntity camera,0,1,0 If KeyDown(205) Then TurnEntity camera,0,-1,0 RenderWorld Color 255,255,255 Text 0,0,"Space: toggle shader Arrow keys: move camera Esc: exit" If attached Then Text 0,20,"EntityShader cube,shader" Else Text 0,20,"EntityShader cube,0 (classic rendering)" Flip Wend FreeShader shader End