Changeset 2143
- Timestamp:
- Dec 18, 2012, 2:58:04 PM (10 years ago)
- Location:
- trunk/src/easymesh
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/easymesh/easymesh.cpp
r2116 r2143 68 68 69 69 m_gpu.modelview = m_gpu.shader->GetUniformLocation("in_ModelView"); 70 m_gpu.model = m_gpu.shader->GetUniformLocation("in_Model"); 70 71 m_gpu.proj = m_gpu.shader->GetUniformLocation("in_Proj"); 71 72 m_gpu.normalmat = m_gpu.shader->GetUniformLocation("in_NormalMat"); … … 118 119 m_gpu.shader->Bind(); 119 120 m_gpu.shader->SetUniform(m_gpu.modelview, modelview); 121 m_gpu.shader->SetUniform(m_gpu.model, model); 120 122 m_gpu.shader->SetUniform(m_gpu.proj, Scene::GetDefault()->GetProjMatrix()); 121 123 m_gpu.shader->SetUniform(m_gpu.normalmat, normalmat); -
trunk/src/easymesh/easymesh.h
r2116 r2143 102 102 Shader *shader; 103 103 ShaderAttrib coord, norm, color; 104 ShaderUniform modelview, proj, normalmat, damage;104 ShaderUniform modelview, model, proj, normalmat, damage; 105 105 VertexDeclaration *vdecl; 106 106 VertexBuffer *vbo; -
trunk/src/easymesh/shiny.lolfx
r1928 r2143 8 8 9 9 uniform mat4 in_ModelView; 10 uniform mat4 in_Model; 10 11 uniform mat4 in_Proj; 11 12 uniform mat3 in_NormalMat; … … 13 14 varying vec4 pass_Eye; 14 15 varying vec3 pass_TNormal; 16 varying vec4 pass_TPos; 15 17 varying vec4 pass_Color; 16 18 … … 22 24 pass_Eye = eye; 23 25 pass_TNormal = tnorm; 26 pass_TPos = in_Model * vec4(in_Vertex, 1.0); 24 27 pass_Color = in_Color; 25 28 … … 38 41 varying vec4 pass_Eye; 39 42 varying vec3 pass_TNormal; 43 varying vec4 pass_TPos; 40 44 varying vec4 pass_Color; 41 45 42 46 // FIXME: the light direction should be passed in the code 43 47 vec3 in_LightDir = vec3(0.3, 0.3, 0.7); 48 vec3 in_Light2_Pos = vec3(0.0, 100.0, 0.0); 44 49 45 50 void main(void) … … 51 56 /* World properties */ 52 57 float ambient_mul = 0.5; 53 vec3 ambient_color = vec3(0. 25, 0.2, 0.35);58 vec3 ambient_color = vec3(0.0, 0.0, 0.0); 54 59 vec3 diffuse_color = vec3(1.0, 1.0, 0.6); 55 60 vec3 specular_color = vec3(1.0, 1.0, 0.6); 56 61 57 vec3 s = normalize(in_LightDir); /* normalize(pass_Eye - lightpos); */ 58 vec3 v = normalize(-pass_Eye.xyz); 59 vec3 r = reflect(-s, pass_TNormal); 62 vec3 ambient = ambient_color; 63 vec3 specular = vec3(0.0, 0.0, 0.0); 64 vec3 diffuse = vec3(0.0, 0.0, 0.0); 65 vec3 s = vec3(0.0, 0.0, 0.0); 66 vec3 v = vec3(0.0, 0.0, 0.0); 67 vec3 r = vec3(0.0, 0.0, 0.0); 68 float sdotn = 0.0; 60 69 61 vec3 ambient = ambient_color; 62 float sdotn = max(dot(s, pass_TNormal), 0.0); 63 vec3 diffuse = diffuse_color * sdotn; 64 vec3 specular = vec3(0.0, 0.0, 0.0); 70 /* 71 //Light calculation for directional light 72 s = normalize(in_LightDir); 73 v = normalize(-pass_Eye.xyz); 74 r = reflect(-s, pass_TNormal); 75 76 sdotn = max(dot(s, pass_TNormal), 0.0); 77 diffuse += diffuse_color * sdotn; 65 78 if (sdotn > 0.0) 66 specular = specular_color * specular_reflect79 specular += specular_color * specular_reflect 67 80 * pow(max(dot(r, v), 0.0), specular_power); 81 */ 82 83 //Light calculation for point light 84 s = normalize(pass_TPos.xyz - in_Light2_Pos); 85 v = normalize(-pass_Eye.xyz); 86 r = reflect(-s, pass_TNormal); 87 88 sdotn = max(dot(s, pass_TNormal), 0.0); 89 diffuse += diffuse_color * sdotn; 90 //if (sdotn > 0.0) 91 // specular += specular_color * specular_reflect 92 // * pow(max(dot(r, v), 0.0), specular_power); 93 94 68 95 vec3 light = ambient + diffuse + specular; 69 96 … … 79 106 float4 in_Color : COLOR, 80 107 uniform float4x4 in_ModelView, 108 uniform float4x4 in_Model, 81 109 uniform float4x4 in_Proj, 82 110 uniform float3x3 in_NormalMat,
Note: See TracChangeset
for help on using the changeset viewer.