Ignore:
Timestamp:
06/05/07 01:57:13 (17 years ago)
Author:
szirmay
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/trollvs.cg

    r2386 r2404  
    55        float2 uv       : TEXCOORD0, 
    66        float3 tangent  : TANGENT, 
    7         float  blendIdx : BLENDINDICES, 
     7        float4  blendIdx : BLENDINDICES, 
     8        float4 blendWgt : BLENDWEIGHT, 
    89        out float4 oPosition : POSITION, 
    910        out float2 oUv       : TEXCOORD0, 
    10         out float3 oTangent: TEXCOORD1, 
    11         out float3 oBinormal: TEXCOORD2, 
     11        //out float3 oTangent: TEXCOORD1, 
     12        //out float3 oBinormal: TEXCOORD2, 
    1213        out float3 oNormal   : TEXCOORD3, 
    1314        out float3 V: TEXCOORD4, 
    1415        out float3 L: TEXCOORD5, 
    15         uniform float3x4   worldMatrix3x4Array[67], 
     16        uniform float3x4   worldMatrix3x4Array[69], 
    1617        uniform float4x4 viewProjectionMatrix, 
    1718        uniform float4   lightPos, 
     
    1920{ 
    2021        // transform by indexed matrix 
    21         float4 blendPos = float4(mul(worldMatrix3x4Array[blendIdx], position).xyz, 1.0); 
     22        float4 blendPos = float4(0,0,0,1); 
     23        blendPos.xyz += mul(worldMatrix3x4Array[blendIdx[0]], position).xyz * blendWgt[0]; 
     24        blendPos.xyz += mul(worldMatrix3x4Array[blendIdx[1]], position).xyz * blendWgt[1]; 
     25         
    2226        // view / projection 
    2327        oPosition = mul(viewProjectionMatrix, blendPos); 
    2428        // transform normal 
    25         oNormal = mul((float3x3)worldMatrix3x4Array[blendIdx], normal); 
    26         oTangent = mul((float3x3)worldMatrix3x4Array[blendIdx], tangent); 
     29        //oNormal = mul((float3x3)worldMatrix3x4Array[blendIdx], normal); 
     30        //oTangent = mul((float3x3)worldMatrix3x4Array[blendIdx], tangent); 
    2731        oNormal = normalize(oNormal); 
    28         oTangent = normalize(oTangent); 
    29         oBinormal = cross(oTangent, oNormal); 
     32//      oTangent = normalize(oTangent); 
     33//      oBinormal = cross(oTangent, oNormal); 
    3034        // Lighting - support point and directional 
    3135        L =  lightPos.xyz - blendPos.xyz * lightPos.w; 
     
    3842void trollSkinning_SMGen_One_Weight_vp( 
    3943        float4 position : POSITION, 
    40         float  blendIdx : BLENDINDICES, 
     44        float4  blendIdx : BLENDINDICES, 
     45        float4 blendWgt : BLENDWEIGHT,   
    4146        out float4 oPosition : POSITION, 
    4247        out float3 cPos:TEXCOORD0,       
     
    4853{ 
    4954        // transform by indexed matrix 
    50         float4 blendPos = float4(mul(worldMatrix3x4Array[blendIdx], position).xyz, 1.0); 
     55        float4 blendPos = float4(0,0,0,1); 
     56        blendPos.xyz += mul(worldMatrix3x4Array[blendIdx[0]], position).xyz * blendWgt[0]; 
     57        blendPos.xyz += mul(worldMatrix3x4Array[blendIdx[1]], position).xyz * blendWgt[1]; 
     58         
    5159        // view / projection 
    5260        cPos = mul(viewMatrix, blendPos).xyz; 
Note: See TracChangeset for help on using the changeset viewer.