Changeset 2417 for GTP/trunk/App/Demos/Illum/Ogre/Media
- Timestamp:
- 06/06/07 19:19:29 (18 years ago)
- Location:
- GTP/trunk/App/Demos/Illum/Ogre/Media
- Files:
-
- 5 added
- 3 deleted
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/FPSarm.material
r2414 r2417 1 vertex_program FPSArmSkinning_VP cg 2 { 3 source SkinningVS.cg 4 entry_point FPSArmSkinning_VP 5 profiles vs_2_0 6 includes_skeletal_animation true 7 } 8 9 vertex_program FPSArmSkinning_SMGen_VP cg 10 { 11 source SkinningVS.cg 12 entry_point FPSArmSkinning_SMGen_VP 13 profiles vs_2_0 14 includes_skeletal_animation true 15 } 16 17 fragment_program FPSArm_PS hlsl 18 { 19 source FPSArm_PS.hlsl 20 entry_point FPSArm_PS 21 target ps_2_0 22 } 23 24 material FPSArmShadowMapGen_POINT 25 { 26 technique 27 { 28 pass 29 { 30 vertex_program_ref FPSArmSkinning_SMGen_VP 31 { 32 param_named_auto worldMatrix3x4Array[0] world_matrix_array_3x4 33 param_named_auto viewProjectionMatrix viewproj_matrix 34 param_named_auto viewMatrix view_matrix 35 } 36 fragment_program_ref GTP/Basic/CDistNorm_PS 37 { 38 param_named_auto farPlane far_clip_distance 39 } 40 } 41 } 42 } 43 44 material FPSArmCameraDepth 45 { 46 technique 47 { 48 pass 49 { 50 vertex_program_ref FPSArmSkinning_SMGen_VP 51 { 52 param_named_auto worldMatrix3x4Array[0] world_matrix_array_3x4 53 param_named_auto viewProjectionMatrix viewproj_matrix 54 param_named_auto viewMatrix view_matrix 55 } 56 fragment_program_ref GTP/Basic/CDepth_PS 57 { 58 param_named_auto farplane far_clip_distance 59 } 60 } 61 } 62 } 63 1 64 material phong3 2 65 { … … 5 68 pass mainpass 6 69 { 7 depth_write on8 70 cull_hardware none 9 10 vertex_program_ref GTP/Basic/ShadedTex_VS 11 { 12 param_named_auto WorldViewProj worldviewproj_matrix 13 param_named_auto World world_matrix 14 param_named_auto WorldInv inverse_world_matrix 15 } 16 fragment_program_ref GTP/Basic/Shaded/TexturedTwoLights_PS 17 { 18 param_named_auto lightPos1 light_position 0 19 param_named_auto lightDir1 light_direction 0 20 param_named_auto lightColor1 light_diffuse_colour 0 21 param_named_auto lightPower1 light_power 0 22 23 param_named_auto lightPos2 light_position 1 24 param_named_auto lightDir2 light_direction 1 25 param_named_auto lightColor2 light_diffuse_colour 1 26 param_named_auto lightPower2 light_power 1 27 } 28 71 IllumTechniques 72 { 73 RenderTechnique Triggers 74 { 75 ILLUM_TRIGGER_SM_POINT FPSArmShadowMapGen_POINT 76 ILLUM_TRIGGER_CAMERADEPTH FPSArmCameraDepth 77 } 78 } 79 vertex_program_ref FPSArmSkinning_VP 80 { 81 param_named_auto worldMatrix3x4Array[0] world_matrix_array_3x4 82 param_named_auto viewProjectionMatrix viewproj_matrix 83 param_named_auto lightPos light_position 0 84 param_named_auto cameraPos camera_position 85 } 86 fragment_program_ref FPSArm_PS 87 { 88 param_named_auto lightRange light_attenuation 0 89 param_named_auto lightPower light_power 0 90 param_named_auto lightColor light_diffuse_colour 0 91 param_named specularity float 100 92 param_named albedo float 0.1 93 param_named specularColor float4 0 0 0 0 94 } 29 95 texture_unit basetexture 30 96 { 31 texture colortex.png 32 } 33 } 34 } 35 } 97 texture FPSArmColor2.png 98 } 99 texture_unit bumptexture 100 { 101 texture FPSArmNormal.png 102 } 103 } 104 } 105 } 106 36 107 37 108 vertex_program GTP/MoriaDemo/Sword_VS hlsl -
GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/MoriaHallBase.hlsl
r2404 r2417 129 129 //do Path Map to gather indirect illumination 130 130 131 // float4 indirect = PathMapIndirect(PathMap, WeightIndexMap, WeightMap, IN.texCoord2.zw) * 1.2; 132 // indirect *= diffuseColor; 133 // Color = Color + indirect; 131 //float4 indirect = PathMapIndirect(PathMap, WeightIndexMap, WeightMap, IN.texCoord2.zw) * 1.2; 132 //indirect *= diffuseColor; 133 //Color = Color + indirect; 134 135 Color += lightPower1 * diffuseColor * 0.0005; 134 136 135 137 //gather caustics for all casters -
GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/illum.hlsl
r2404 r2417 79 79 float3 weight = tex2D(weightTex, float2((weightIndex + 0.5)/allClusterCount, 0.5)).rgb; 80 80 float3 val = tex2D(PMTex, prmTexPos).xyz; 81 if(length(val - float3(1,1,1))== 0)82 val = 0;81 // if(length(val - float3(1,1,1))== 0) 82 // val = 0; 83 83 col += val.xyz * weight; 84 84 } -
GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/moria.material
r2398 r2417 23 23 //RenderTechnique PathMap 24 24 //{ 25 // new_passes false 25 // pass_blending one zero 26 // new_passes false 26 27 // start_tex_id 3 27 28 //} -
GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/troll.material
r2414 r2417 1 1 vertex_program TrollSkinningOneWeight cg 2 2 { 3 source trollvs.cg3 source SkinningVS.cg 4 4 entry_point trollSkinning_One_Weight_vp 5 5 profiles vs_2_0 … … 9 9 vertex_program TrollSkinningSMGen cg 10 10 { 11 source trollvs.cg11 source SkinningVS.cg 12 12 entry_point trollSkinning_SMGen_One_Weight_vp 13 13 profiles vs_2_0 … … 89 89 param_named_auto lightPower light_power 0 90 90 param_named_auto lightColor light_diffuse_colour 0 91 param_named specularity float 1 92 param_named specularColor float4 0.02 0.02 0.02 0.02 91 param_named specularity float 200 92 param_named albedo float 0.1 93 param_named specularColor float4 0.0016 0.0015 0.001 0 93 94 } 94 95 texture_unit basetexture -
GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/trollps.hlsl
r2398 r2417 15 15 16 16 uniform float specularity; 17 uniform float albedo; 17 18 uniform float4 specularColor; 18 19 … … 37 38 float3 L = IN.L; 38 39 39 float4 diffuseColor = tex2D(colorTexture, IN.texCoord);40 float4 diffuseColor = albedo * tex2D(colorTexture, IN.texCoord); 40 41 41 42 Color = Illumination(N, L, V, lightColor * lightPower, lightRange, diffuseColor, specularity, specularColor); 42 43 43 float4 ret = diffuseColor * 0.1 +Color;44 float4 ret = Color; 44 45 return float4(ret.xyz, dist); 45 46 } -
GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPathMap/PathMap.material
r2403 r2417 166 166 { 167 167 filtering none 168 texture MainLightPM_WEIGHT_MAP_ALL 169 } 170 texture_unit 171 { 172 filtering none 173 texture MainLightPM_WEIGHT_MAP 168 174 } 169 175 } -
GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPathMap/PathMapWeightCompute.hlsl
r2409 r2417 32 32 vsOutputComputeWeights output = (vsOutputComputeWeights)0; 33 33 output.pos = input.pos; 34 output.tex = (input.pos + 1.0) / 2.0;34 output.tex = (input.pos.xy + 1.0) / 2.0; 35 35 //output.tex = input.tex; 36 //output.tex.y = 1.0 - output.tex.y;37 input.pos.y *= -1;36 output.tex.y = 1.0 - output.tex.y; 37 //input.pos.y *= -1; 38 38 39 39 return output; … … 95 95 { 96 96 float dataColumnWidth = 1.0 / (float)nRadionColumns; 97 int bushIndex = input.tex.x * 4096 + input.tex.y * nRadionColumns * 4096;97 /* int bushIndex = input.tex.x * 4096 + input.tex.y * nRadionColumns * 4096; 98 98 int werx = bushIndex % nRadionColumns; 99 99 int wery = bushIndex / nRadionColumns; 100 100 float3 pos = tex2D(radionSampler, float2((werx + 0.25) * dataColumnWidth, (wery + 0.5) / 4096.0) ).xyz; 101 float3 dir = tex2D(radionSampler, float2((werx + 0.75) * dataColumnWidth, (wery + 0.5) / 4096.0) ).xyz; 101 float3 dir = tex2D(radionSampler, float2((werx + 0.75) * dataColumnWidth, (wery + 0.5) / 4096.0) ).xyz;*/ 102 float3 pos = tex2D(radionSampler, float2(input.tex.x + 0.25 * dataColumnWidth, input.tex.y + 0.5 / 4096.0) ).xyz; 103 float3 dir = tex2D(radionSampler, float2(input.tex.x + 0.75 * dataColumnWidth, input.tex.y + 0.5 / 4096.0) ).xyz; 104 // float3 pos = tex2D(radionSampler, float2(0.25, input.tex.y + 0.5 / 4096.0) ).xyz; 105 // float3 dir = tex2D(radionSampler, float2(0.75, input.tex.y + 0.5 / 4096.0) ).xyz; 106 102 107 dir = normalize(dir); 103 108 … … 115 120 dist -= DIST_BIAS; 116 121 visibility = (distNorm <= storedDist); 117 118 visibility = 1.0 + 0.00001 * visibility; 122 //visibility = visibility * 0.0000001 + 1.0; 119 123 visibility *= 1.0 / (lightAttenuation.y + dist * lightAttenuation.z + dist * dist * lightAttenuation.w); 120 124 121 125 float4 ret = visibility * cosb * lightPower * lightColor; 126 127 //ret = 0.00000001 * ret * nRadionColumns + (dist<25.0);//float4(pos,1);//input.tex.y * 4096.0; 122 128 return ret; 123 129 } … … 137 143 for(int i = 0; i < entryPointCount; i++) 138 144 { 139 140 145 float dataColumnWidth = 1.0 / (float)nRadionColumns; 141 146 int werx = currentEntryPoint % nRadionColumns; 142 147 int wery = currentEntryPoint / nRadionColumns; 143 float2 coord1 = float2((werx + 0.5) * dataColumnWidth, (wery + 0.5) / 4096.0); 148 float2 coord1 = float2((werx + 0.5) * dataColumnWidth, (wery + 0.5) / 4096.0); 144 149 float2 coord2 = coord1 + float2(0.25 * dataColumnWidth, 0); 150 151 //coord1 = coord1 * 0.00000001 + float2(0.5, (currentEntryPoint + 0.5)/4096); 152 //coord2 = coord1 + float2(0.25, 0); 153 145 154 float3 w = tex2Dlod(allWeightsSampler, float4(coord1, 0, 0)).rgb; 146 float radrad = tex2Dlod(radionSampler, float4(coord2, 0, 0)).a;155 float radrad = 1;// tex2Dlod(radionSampler, float4(coord2, 0, 0)).a; 147 156 weight += w * radrad; 148 157 clusterRad += radrad; … … 155 164 weight = 0; 156 165 157 return float4(weight, 1); 166 float4 ret = 0; 167 //if(abs(input.tex.x - 2*halfPixel*2)<halfPixel/2.0) 168 ret = float4(weight, 1); 169 return ret; 158 170 } 159 171 … … 162 174 uniform float4x4 worldViewProj, 163 175 out float4 hPos:POSITION, 164 out float 2texCoord: TEXCOORD0)176 out float3 texCoord: TEXCOORD0) 165 177 { 166 hPos = mul(worldViewProj, position); 167 texCoord = color.xy; 178 hPos = mul(worldViewProj, float4(position.x,0,position.z,1)); 179 texCoord = color.xyz; 180 texCoord = position.y; 168 181 } 169 182 170 float4 EntryPointDisplayPS(float2 texCoord : TEXCOORD0, 171 uniform sampler2D weightTexture : register(s0)):COLOR0 183 float4 EntryPointDisplayPS(float3 texCoord : TEXCOORD0, 184 uniform sampler2D weightTexture : register(s0), 185 uniform sampler2D clusterWeightTexture : register(s1)):COLOR0 172 186 { 173 //return texCoord.y; 174 return texCoord.r; 187 float entryPointID = (256.0f * texCoord.r * 256.0f + 256.0f * texCoord.g + 0.5) / 4096.0f; 188 entryPointID = texCoord.x; 189 //return float4(texCoord, 1); 190 //return tex2D(clusterWeightTexture, float2(0.5, 1.0 - ((entryPointID + 0.5 )/ 4096.0))); 191 return tex2D(weightTexture, float2(0.5, ((entryPointID + 0.5 )/ 4096.0))); 192 //return abs(tex2D(weightTexture, float2(0.5, ((entryPointID + 0.5 )/ 4096.0))) - entryPointID); 193 return entryPointID; 175 194 } 176 195
Note: See TracChangeset
for help on using the changeset viewer.