OSDN Git Service

1384a7cac44a1d7d776dafaf188172df6369d64a
[shooting3/dxgi_test.git] / dxgi_test / Tutorial07.fx
1 //--------------------------------------------------------------------------------------
2 // File: Tutorial07.fx
3 //
4 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //--------------------------------------------------------------------------------------
6
7 //--------------------------------------------------------------------------------------
8 // \92è\90\94\83o\83b\83t\83@
9 //--------------------------------------------------------------------------------------
10 Texture2D txDiffuse : register( t0 );
11 SamplerState samLinear : register( s0 );
12
13 cbuffer cbNeverChanges : register( b0 )
14 {
15     matrix View;
16         float4 vLightDir[2];
17         float4 vLightColor[2];
18 };
19
20 cbuffer cbChangeOnResize : register( b1 )
21 {
22     matrix Projection;
23 };
24
25 cbuffer cbChangesEveryFrame : register( b2 )
26 {
27     matrix World;
28     float4 vMeshColor;
29 };
30
31
32 //--------------------------------------------------------------------------------------
33 // \92¸\93_\8fî\95ñ
34 struct VS_INPUT
35 {
36     float4 Pos : POSITION;
37     float2 Tex : TEXCOORD0;
38 };
39
40 // \83s\83N\83Z\83\8b\8fî\95ñ
41 struct PS_INPUT
42 {
43     float4 Pos : SV_POSITION;
44     float2 Tex : TEXCOORD0;
45 };
46
47
48 //--------------------------------------------------------------------------------------
49 // \92¸\93_\83V\83F\81[\83_\81[
50 //--------------------------------------------------------------------------------------
51 PS_INPUT VS( VS_INPUT input )
52 {
53     // \8fo\97Í\97p\95Ï\90\94\82Ì\8f\89\8aú\89»
54         PS_INPUT output = (PS_INPUT)0;
55
56         // \83\8d\81[\83J\83\8b\8dÀ\95W\82©\82ç\83\8f\81[\83\8b\83h\8dÀ\95W\82Ö\82Ì\95Ï\8a·
57     output.Pos = mul( input.Pos, World ); 
58         // \83J\83\81\83\89
59     output.Pos = mul( output.Pos, View );
60         // \8eË\89e\95Ï\8a·
61     output.Pos = mul( output.Pos, Projection );
62         // \83e\83N\83X\83`\83\83\83}\83b\83s\83\93\83O\82Ì\8dÀ\95W\95Ï\8a·\81i\8d¡\89ñ\82Í\95Ï\8a·\82Í\82µ\82È\82¢\81j
63     output.Tex = input.Tex;
64     // \8fo\97Í\82ð\95Ô\82·\81B
65     return output;
66 }
67
68
69 //--------------------------------------------------------------------------------------
70 // Pixel Shader
71 //--------------------------------------------------------------------------------------
72 float4 PS( PS_INPUT input) : SV_Target
73 {
74     return txDiffuse.Sample( samLinear, input.Tex ) * vMeshColor ;
75 }