bonjour,

Je n'arrive pas à utiliser correctement les FX générés par 3ds max.
Dans le viewer ça passe trés bien mais dans mon application aucune texture n'est visible.

voicie le fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
float4x4 mWorld_0_0 : WORLDT;
float4x4 mIWorld_0_0 : WORLDI;
float4x4 mWorldViewProj_0_0 : WORLDVIEWPROJECTION;
float4 mCamPos_0_0 : WORLD_CAMERA_POSITION = {0.000000f, 0.000000f, 0.000000f, 0.000000f};
float Opacity_1_0 : OPACITY
<
string UIName = "Opacity";
float UIMin = 0.0;
float UIMax = 1.0;
float UIStep = 0.01;
> = 1.000000f;
float SpecularLevel_1_0 : SPECULARLEVEL
<
string UIName = "SpecularLevel";
float UIMin = 0.0;
float UIMax = 1.0;
float UIStep = 0.01;
> = 1.000000f;
float GlossLevel_1_0 : GLOSSLEVEL
<
string UIName = "GlossLevel";
float UIMin = 0.0;
float UIMax = 100.0;
float UIStep = 1.0;
> = 20.000000f;
float4 LightDir0_1_0 : DIRECTION
<
string Object = "TargetLight";
string UIName = "LightDir0";
int refID = 0;
> = {0.000000f, 0.000000f, 0.000000f, 0.000000f};
float4 LightCol0_1_0 : LIGHTCOLOR
<
int LightRef = 0;
> = {0.000000f, 0.000000f, 0.000000f, 0.000000f};
float4 Emissive_1_0 : EMISSIVE
<
string UIName = "Emissive";
> = {0.000000f, 0.000000f, 0.000000f, 1.000000f};
float4 Specular_1_0 : SPECULAR
<
string UIName = "Specular";
> = {1.000000f, 1.000000f, 1.000000f, 1.000000f};
 
 
texture BumpTex
<
int Texcoord = 0;
int MapChannel = 1;
string UIName = "BumpTexture";
string name = "loma_BumpTex.dds";
>;
 
 
texture DiffuseTex : DIFFUSEMAP
<
int Texcoord = 0;
int MapChannel = 1;
string UIName = "DiffuseTexture";
string name = "loma_DiffuseTex.dds";
>;
 
sampler BumpTexSampler = sampler_state
{
Texture = (BumpTex);
};
sampler DiffuseTexSampler = sampler_state
{
Texture = (DiffuseTex);
};
 
VertexShader VS_pass0 = asm
{
 
vs_3_0
 
// Generated by ATI's Ashli Compiler on 2008-07-02 21:22:35.
// Ashli Version: 1.7.1
 
 
// Instructions (Alu):            31
// Registers    (Temp):           5
// Registers    (Constant):       14
// Registers    (Output):         1
// Registers    (OutputTexCoord): 5
 
dcl_position0 v0
dcl_normal0 v2
dcl_tangent0 v6
dcl_binormal0 v7
dcl_texcoord0 v8
 
def c13, 0, 0, 0, 0
 
dcl_position o0
 
dcl_texcoord0 o3
dcl_texcoord2 o5
dcl_texcoord3 o6
dcl_texcoord4 o7
dcl_texcoord6 o9
 
mul r0, c12, v0.r
mad r0, c11, v0.g, r0
mad r0, c10, v0.b, r0
mad r0, c9, v0.a, r0
mov r1, c13.r
dp4 r1.r, c8, v2
dp4 r1.g, c7, v2
dp4 r1.b, c6, v2
dp4 r1.a, c5, v2
mov r2, c13.r
dp4 r2.r, c4, v0
dp4 r2.g, c3, v0
dp4 r2.b, c2, v0
dp4 r2.a, c1, v0
add r2, c0, -r2
mov r3, c13.r
dp4 r3.r, c8, v6
dp4 r3.g, c7, v6
dp4 r3.b, c6, v6
dp4 r3.a, c5, v6
mov r4, c13.r
dp4 r4.r, c8, v7
dp4 r4.g, c7, v7
dp4 r4.b, c6, v7
dp4 r4.a, c5, v7
mov o0, r0
mov o3, r1
mov o9, v8
mov o5, r2
mov o6, r3
mov o7, r4
 
};
 
 
PixelShader PS_pass0 = asm
{
 
ps_3_0
 
// Generated by ATI's Ashli Compiler on 2008-07-02 21:22:35.
// Ashli Version: 1.7.1
 
 
// Instructions (Alu):            48
// Instructions (Tex):            2
// Registers    (Temp):           5
// Registers    (Constant):       9
// Registers    (TexCoord):       5
// Registers    (Texture):        2
// Registers    (OutputColor):    1
 
dcl_texcoord0 v2.rgba
dcl_texcoord2 v4.rgba
dcl_texcoord3 v5.rgba
dcl_texcoord4 v6.rgba
dcl_texcoord6 v8.rgba
 
dcl_2d s0
dcl_2d s1
 
def c0, 0, 1, 0.5, 0
def c8, 0, 0, 0, 1
 
mov r0, c0.r
mov r0.rgb, c5
mov r0.a, c0.g
dp3 r1.r, v2.rgb, v2.rgb
rsq r1.r, r1.r
mul r1, r1.r, v2.rgb
dp3 r2.r, r1, r1
rsq r2.r, r2.r
mul r1, r2.r, r1
texld r2, v8, s1
mov r3, c0.r
add r3.rgb, r2, -c0.b
dp3 r2.r, r3, r3
rsq r2.r, r2.r
mul r2, r2.r, r3
dp3 r3.r, v6.rgb, v6.rgb
rsq r3.r, r3.r
mul r3, r3.r, v6.rgb
dp3 r4.r, v5.rgb, v5.rgb
rsq r4.r, r4.r
mul r4, r4.r, v5.rgb
mul r4, r4, r2.g
mad r3, r3, r2.r, r4
mad r1, r1, r2.b, r3
dp3 r2.r, v4.rgb, v4.rgb
rsq r2.r, r2.r
mov r3, c0.r
mul r3.rgb, r2.r, v4.rgb
dp3 r2.r, r3, r3
rsq r2.r, r2.r
mul r2, r2.r, r3
dp3 r2.r, r1, r2
max r2.r, r2.r, c0.r
min r2.r, r2.r, c0.g
pow r2.r, r2.r, c3.r
mul r2.r, r2.r, c2.r
mul r2, c7, r2.r
texld r3, v8, s0
dp3 r1.r, r1, c4
max r1.r, r1.r, c0.r
min r1.r, r1.r, c0.g
mul r1, r3, r1.r
mov r4, c6
mad r3, r4, r3, c8
mad r1, r0, r1, r3
mad r0, r0, r2, r1
mov r0.a, c1.r
mov oC0, r0
 
};
 
 
technique technique0
{
 
pass
{
 
VertexShaderConstant[0] = <mCamPos_0_0>;
VertexShaderConstant[1] = <mWorld_0_0[3]>;
VertexShaderConstant[2] = <mWorld_0_0[2]>;
VertexShaderConstant[3] = <mWorld_0_0[1]>;
VertexShaderConstant[4] = <mWorld_0_0[0]>;
VertexShaderConstant[5] = <mIWorld_0_0[3]>;
VertexShaderConstant[6] = <mIWorld_0_0[2]>;
VertexShaderConstant[7] = <mIWorld_0_0[1]>;
VertexShaderConstant[8] = <mIWorld_0_0[0]>;
VertexShaderConstant[9] = <mWorldViewProj_0_0[3]>;
VertexShaderConstant[10] = <mWorldViewProj_0_0[2]>;
VertexShaderConstant[11] = <mWorldViewProj_0_0[1]>;
VertexShaderConstant[12] = <mWorldViewProj_0_0[0]>;
PixelShaderConstant[1] = <Opacity_1_0>;
PixelShaderConstant[2] = <SpecularLevel_1_0>;
PixelShaderConstant[3] = <GlossLevel_1_0>;
PixelShaderConstant[4] = <LightDir0_1_0>;
PixelShaderConstant[5] = <LightCol0_1_0>;
PixelShaderConstant[6] = <Emissive_1_0>;
PixelShaderConstant[7] = <Specular_1_0>;
Sampler[1] = (BumpTexSampler);
Sampler[0] = (DiffuseTexSampler);
VertexShader  = <VS_pass0>;
PixelShader  = <PS_pass0>;
 
}
 
}
 
 
bool UseLPRT = false;