33 lines
		
	
	
		
			663 B
		
	
	
	
		
			GLSL
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			663 B
		
	
	
	
		
			GLSL
		
	
	
	
| 
 | |
| cbuffer ConstantBuffer : register( b0 )
 | |
| {
 | |
|     matrix World;
 | |
|     matrix View;
 | |
|     matrix Projection;
 | |
| };
 | |
| 
 | |
| struct VS_INPUT
 | |
| {
 | |
|     float4 Pos : POSITION;
 | |
|     float3 Norm : NORMAL;
 | |
| };
 | |
| 
 | |
| struct PS_INPUT
 | |
| {
 | |
|     float4 Pos : SV_POSITION;
 | |
|     float3 Norm : TEXCOORD0;
 | |
| };
 | |
| 
 | |
| PS_INPUT main( VS_INPUT input )
 | |
| {
 | |
|     int ConstantBuffer = 42;  // test ConstantBuffer as an identifier
 | |
| 
 | |
|     PS_INPUT output = (PS_INPUT)0;
 | |
|     output.Pos = mul( input.Pos, World );
 | |
|     output.Pos = mul( output.Pos, View );
 | |
|     output.Pos = mul( output.Pos, Projection );
 | |
|     output.Norm = mul( input.Norm, World );  // Work when output.Norm = mul( input.Norm, (float3x3)World );
 | |
| 
 | |
|     return output;
 | |
| }
 |