implemented shader fog

This commit is contained in:
aap 2020-04-20 19:18:28 +02:00
parent 8b677c4dd7
commit 808290e73e
23 changed files with 1769 additions and 1650 deletions

View File

@ -30,8 +30,8 @@ enum
{ {
VSLOC_texMat = VSLOC_afterLights, VSLOC_texMat = VSLOC_afterLights,
PSLOC_shininess = 0, PSLOC_shininess = 1,
PSLOC_colorClamp = 1 PSLOC_colorClamp = 2
}; };
void void
@ -51,9 +51,9 @@ matfxRender_Default(InstanceDataHeader *header, InstanceData *inst, int32 lightB
if(inst->material->texture){ if(inst->material->texture){
d3d::setTexture(0, m->texture); d3d::setTexture(0, m->texture);
setPixelShader(default_color_tex_PS); setPixelShader(default_tex_PS);
}else }else
setPixelShader(default_color_PS); setPixelShader(default_PS);
drawInst(header, inst); drawInst(header, inst);
} }
@ -149,6 +149,9 @@ matfxRenderCB_Shader(Atomic *atomic, InstanceDataHeader *header)
vsBits = lightingCB_Shader(atomic); vsBits = lightingCB_Shader(atomic);
uploadMatrices(atomic->getFrame()->getLTM()); uploadMatrices(atomic->getFrame()->getLTM());
d3ddevice->SetVertexShaderConstantF(VSLOC_fogData, (float*)&d3dShaderState.fogData, 1);
d3ddevice->SetPixelShaderConstantF(PSLOC_fogColor, (float*)&d3dShaderState.fogColor, 1);
bool normals = !!(atomic->geometry->flags & Geometry::NORMALS); bool normals = !!(atomic->geometry->flags & Geometry::NORMALS);
float surfProps[4]; float surfProps[4];

View File

@ -138,6 +138,9 @@ defaultRenderCB_Shader(Atomic *atomic, InstanceDataHeader *header)
vsBits = lightingCB_Shader(atomic); vsBits = lightingCB_Shader(atomic);
uploadMatrices(atomic->getFrame()->getLTM()); uploadMatrices(atomic->getFrame()->getLTM());
d3ddevice->SetVertexShaderConstantF(VSLOC_fogData, (float*)&d3dShaderState.fogData, 1);
d3ddevice->SetPixelShaderConstantF(PSLOC_fogColor, (float*)&d3dShaderState.fogColor, 1);
// Pick a shader // Pick a shader
if((vsBits & VSLIGHT_MASK) == 0) if((vsBits & VSLIGHT_MASK) == 0)
setVertexShader(default_amb_VS); setVertexShader(default_amb_VS);
@ -166,9 +169,9 @@ defaultRenderCB_Shader(Atomic *atomic, InstanceDataHeader *header)
if(inst->material->texture){ if(inst->material->texture){
d3d::setTexture(0, m->texture); d3d::setTexture(0, m->texture);
setPixelShader(default_color_tex_PS); setPixelShader(default_tex_PS);
}else }else
setPixelShader(default_color_PS); setPixelShader(default_PS);
drawInst(header, inst); drawInst(header, inst);
inst++; inst++;

View File

@ -71,6 +71,8 @@ struct RwStateCache {
}; };
static RwStateCache rwStateCache; static RwStateCache rwStateCache;
D3dShaderState d3dShaderState;
#define MAXNUMSTATES (D3DRS_BLENDOPALPHA+1) #define MAXNUMSTATES (D3DRS_BLENDOPALPHA+1)
#define MAXNUMTEXSTATES (D3DTSS_CONSTANT+1) #define MAXNUMTEXSTATES (D3DTSS_CONSTANT+1)
#define MAXNUMSAMPLERSTATES (D3DSAMP_DMAPOFFSET+1) #define MAXNUMSAMPLERSTATES (D3DSAMP_DMAPOFFSET+1)
@ -477,7 +479,8 @@ setRwRenderState(int32 state, void *pvalue)
case FOGENABLE: case FOGENABLE:
if(rwStateCache.fogenable != bval){ if(rwStateCache.fogenable != bval){
rwStateCache.fogenable = bval; rwStateCache.fogenable = bval;
setRenderState(D3DRS_FOGENABLE, rwStateCache.fogenable); // setRenderState(D3DRS_FOGENABLE, rwStateCache.fogenable);
d3dShaderState.fogData.disable = bval ? 0.0f : 1.0f;
}; };
break; break;
case FOGCOLOR:{ case FOGCOLOR:{
@ -489,6 +492,7 @@ setRwRenderState(int32 state, void *pvalue)
if(!equal(rwStateCache.fogcolor, c)){ if(!equal(rwStateCache.fogcolor, c)){
rwStateCache.fogcolor = c; rwStateCache.fogcolor = c;
setRenderState(D3DRS_FOGCOLOR, D3DCOLOR_RGBA(c.red, c.green, c.blue, c.alpha)); setRenderState(D3DRS_FOGCOLOR, D3DCOLOR_RGBA(c.red, c.green, c.blue, c.alpha));
convColor(&d3dShaderState.fogColor, &c);
}} break; }} break;
case CULLMODE: case CULLMODE:
if(rwStateCache.cullmode != value){ if(rwStateCache.cullmode != value){
@ -686,8 +690,15 @@ beginUpdate(Camera *cam)
d3ddevice->SetTransform(D3DTS_PROJECTION, (D3DMATRIX*)proj); d3ddevice->SetTransform(D3DTS_PROJECTION, (D3DMATRIX*)proj);
// TODO: figure out where this is really done // TODO: figure out where this is really done
setRenderState(D3DRS_FOGSTART, *(uint32*)&cam->fogPlane); // setRenderState(D3DRS_FOGSTART, *(uint32*)&cam->fogPlane);
setRenderState(D3DRS_FOGEND, *(uint32*)&cam->farPlane); // setRenderState(D3DRS_FOGEND, *(uint32*)&cam->farPlane);
d3dShaderState.fogData.start = cam->fogPlane;
d3dShaderState.fogData.end = cam->farPlane;
d3dShaderState.fogData.range = 1.0f/(cam->fogPlane - cam->farPlane);
d3dShaderState.fogDisable.start = 0.0f;
d3dShaderState.fogDisable.end = 0.0f;
d3dShaderState.fogDisable.range = 0.0f;
d3dShaderState.fogDisable.disable = 1.0f;
D3DVIEWPORT9 vp; D3DVIEWPORT9 vp;
vp.MinZ = 0.0f; vp.MinZ = 0.0f;

View File

@ -109,9 +109,9 @@ im2DRenderPrimitive(PrimitiveType primType, void *vertices, int32 numVertices)
d3ddevice->SetVertexDeclaration(im2ddecl); d3ddevice->SetVertexDeclaration(im2ddecl);
if(engine->device.getRenderState(TEXTURERASTER)) if(engine->device.getRenderState(TEXTURERASTER))
setPixelShader(default_color_tex_PS); setPixelShader(im2d_tex_PS);
else else
setPixelShader(default_color_PS); setPixelShader(im2d_PS);
d3d::flushCache(); d3d::flushCache();
@ -163,9 +163,9 @@ im2DRenderIndexedPrimitive(PrimitiveType primType,
d3ddevice->SetVertexDeclaration(im2ddecl); d3ddevice->SetVertexDeclaration(im2ddecl);
if(engine->device.getRenderState(TEXTURERASTER)) if(engine->device.getRenderState(TEXTURERASTER))
setPixelShader(default_color_tex_PS); setPixelShader(im2d_tex_PS);
else else
setPixelShader(default_color_PS); setPixelShader(im2d_PS);
d3d::flushCache(); d3d::flushCache();
@ -250,6 +250,13 @@ im3DTransform(void *vertices, int32 numVertices, Matrix *world)
else else
uploadMatrices(world); uploadMatrices(world);
d3ddevice->SetVertexShaderConstantF(VSLOC_fogData, (float*)&d3dShaderState.fogData, 1);
d3ddevice->SetPixelShaderConstantF(PSLOC_fogColor, (float*)&d3dShaderState.fogColor, 1);
static float surfprops[4] = { 0.0f, 0.0f, 0.0f, 1.0f };
static float white[4] = { 1.0f, 1.0f, 1.0f, 1.0f };
d3ddevice->SetVertexShaderConstantF(VSLOC_surfProps, surfprops, 1);
d3ddevice->SetVertexShaderConstantF(VSLOC_matColor, white, 1);
uint8 *lockedvertices = lockVertices(im3dvertbuf, 0, numVertices*sizeof(Im3DVertex), D3DLOCK_DISCARD); uint8 *lockedvertices = lockVertices(im3dvertbuf, 0, numVertices*sizeof(Im3DVertex), D3DLOCK_DISCARD);
memcpy(lockedvertices, vertices, numVertices*sizeof(Im3DVertex)); memcpy(lockedvertices, vertices, numVertices*sizeof(Im3DVertex));
unlockVertices(im3dvertbuf); unlockVertices(im3dvertbuf);
@ -257,6 +264,8 @@ im3DTransform(void *vertices, int32 numVertices, Matrix *world)
d3ddevice->SetStreamSource(0, im3dvertbuf, 0, sizeof(Im3DVertex)); d3ddevice->SetStreamSource(0, im3dvertbuf, 0, sizeof(Im3DVertex));
d3ddevice->SetVertexDeclaration(im3ddecl); d3ddevice->SetVertexDeclaration(im3ddecl);
setVertexShader(default_amb_VS);
num3DVertices = numVertices; num3DVertices = numVertices;
} }
@ -270,9 +279,9 @@ im3DRenderIndexed(PrimitiveType primType, void *indices, int32 numIndices)
d3ddevice->SetIndices(im3dindbuf); d3ddevice->SetIndices(im3dindbuf);
if(engine->device.getRenderState(TEXTURERASTER)) if(engine->device.getRenderState(TEXTURERASTER))
setPixelShader(default_color_tex_PS); setPixelShader(default_tex_PS);
else else
setPixelShader(default_color_PS); setPixelShader(default_PS);
d3d::flushCache(); d3d::flushCache();
@ -302,6 +311,7 @@ im3DRenderIndexed(PrimitiveType primType, void *indices, int32 numIndices)
0, num3DVertices, 0, num3DVertices,
0, primCount); 0, primCount);
setVertexShader(nil);
setPixelShader(nil); setPixelShader(nil);
} }

View File

@ -25,8 +25,11 @@ IDirect3DDevice9 *d3ddevice = nil;
void *default_amb_VS; void *default_amb_VS;
void *default_amb_dir_VS; void *default_amb_dir_VS;
void *default_all_VS; void *default_all_VS;
void *default_color_PS; void *default_PS;
void *default_color_tex_PS; void *default_tex_PS;
void *im2d_PS;
void *im2d_tex_PS;
void void
createDefaultShaders(void) createDefaultShaders(void)
@ -52,15 +55,28 @@ createDefaultShaders(void)
{ {
static static
#include "shaders/default_color_PS.h" #include "shaders/default_PS.h"
default_color_PS = createPixelShader((void*)PS_NAME); default_PS = createPixelShader((void*)PS_NAME);
assert(default_color_PS); assert(default_PS);
} }
{ {
static static
#include "shaders/default_color_tex_PS.h" #include "shaders/default_tex_PS.h"
default_color_tex_PS = createPixelShader((void*)PS_NAME); default_tex_PS = createPixelShader((void*)PS_NAME);
assert(default_color_tex_PS); assert(default_tex_PS);
}
{
static
#include "shaders/im2d_PS.h"
im2d_PS = createPixelShader((void*)PS_NAME);
assert(im2d_PS);
}
{
static
#include "shaders/im2d_tex_PS.h"
im2d_tex_PS = createPixelShader((void*)PS_NAME);
assert(im2d_tex_PS);
} }
} }
@ -74,10 +90,15 @@ destroyDefaultShaders(void)
destroyVertexShader(default_all_VS); destroyVertexShader(default_all_VS);
default_all_VS = nil; default_all_VS = nil;
destroyPixelShader(default_color_PS); destroyPixelShader(default_PS);
default_color_PS = nil; default_PS = nil;
destroyPixelShader(default_color_tex_PS); destroyPixelShader(default_tex_PS);
default_color_tex_PS = nil; default_tex_PS = nil;
destroyPixelShader(im2d_PS);
im2d_PS = nil;
destroyPixelShader(im2d_tex_PS);
im2d_tex_PS = nil;
} }

View File

@ -194,6 +194,20 @@ void destroyPixelShader(void *shader);
* Vertex shaders and common pipeline stuff * Vertex shaders and common pipeline stuff
*/ */
struct D3dShaderState
{
// for VS
struct {
float32 start;
float32 end;
float32 range; // 1/(start-end)
float32 disable; // lower clamp
} fogData, fogDisable;
// for PS
RGBAf fogColor;
};
extern D3dShaderState d3dShaderState;
// Standard Vertex shader locations // Standard Vertex shader locations
enum enum
{ {
@ -202,12 +216,15 @@ enum
VSLOC_normal = 8, VSLOC_normal = 8,
VSLOC_matColor = 12, VSLOC_matColor = 12,
VSLOC_surfProps = 13, VSLOC_surfProps = 13,
VSLOC_ambLight = 14, VSLOC_fogData = 14,
VSLOC_lightOffset = 15, VSLOC_ambLight = 15,
VSLOC_lights = 16, VSLOC_lightOffset = 16,
VSLOC_lights = 17,
VSLOC_afterLights = VSLOC_lights + 8*3, VSLOC_afterLights = VSLOC_lights + 8*3,
VSLOC_numLights = 0, VSLOC_numLights = 0,
PSLOC_fogColor = 0
}; };
// Vertex shader bits // Vertex shader bits
@ -232,8 +249,10 @@ int32 uploadLights(WorldLights *lightData); // called by lightingCB_Shader
extern void *default_amb_VS; extern void *default_amb_VS;
extern void *default_amb_dir_VS; extern void *default_amb_dir_VS;
extern void *default_all_VS; extern void *default_all_VS;
extern void *default_color_PS; extern void *default_PS;
extern void *default_color_tex_PS; extern void *default_tex_PS;
extern void *im2d_PS;
extern void *im2d_tex_PS;
void createDefaultShaders(void); void createDefaultShaders(void);
void destroyDefaultShaders(void); void destroyDefaultShaders(void);

View File

@ -0,0 +1,19 @@
struct VS_out {
float4 Position : POSITION;
float3 TexCoord0 : TEXCOORD0;
float4 Color : COLOR0;
};
sampler2D tex0 : register(s0);
float4 fogColor : register(c0);
float4 main(VS_out input) : COLOR
{
float4 color = input.Color;
#ifdef TEX
color *= tex2D(tex0, input.TexCoord0.xy);
#endif
color.rgb = lerp(fogColor.rgb, color.rgb, input.TexCoord0.z);
return color;
}

View File

@ -1,26 +1,4 @@
float4x4 combinedMat : register(c0); #include "standardConstants.h"
float4x4 worldMat : register(c4);
float3x3 normalMat : register(c8);
float4 matCol : register(c12);
float4 surfProps : register(c13);
float4 ambientLight : register(c14);
#define surfAmbient (surfProps.x)
#define surfSpecular (surfProps.y)
#define surfDiffuse (surfProps.z)
#define surfPrelight (surfProps.w)
#include "lighting.h"
int numDirLights : register(i0);
int numPointLights : register(i1);
int numSpotLights : register(i2);
int4 firstLight : register(c15);
Light lights[8] : register(c16);
#define firstDirLight (firstLight.x)
#define firstPointLight (firstLight.y)
#define firstSpotLight (firstLight.z)
struct VS_in struct VS_in
{ {
@ -32,7 +10,7 @@ struct VS_in
struct VS_out { struct VS_out {
float4 Position : POSITION; float4 Position : POSITION;
float2 TexCoord0 : TEXCOORD0; float3 TexCoord0 : TEXCOORD0; // also fog
float4 Color : COLOR0; float4 Color : COLOR0;
}; };
@ -45,7 +23,7 @@ VS_out main(in VS_in input)
float3 Vertex = mul(worldMat, input.Position).xyz; float3 Vertex = mul(worldMat, input.Position).xyz;
float3 Normal = mul(normalMat, input.Normal); float3 Normal = mul(normalMat, input.Normal);
output.TexCoord0 = input.TexCoord; output.TexCoord0.xy = input.TexCoord;
output.Color = float4(0.0, 0.0, 0.0, 1.0); output.Color = float4(0.0, 0.0, 0.0, 1.0);
if(surfPrelight > 0.0) if(surfPrelight > 0.0)
@ -70,5 +48,7 @@ VS_out main(in VS_in input)
output.Color = clamp(output.Color, 0.0, 1.0); output.Color = clamp(output.Color, 0.0, 1.0);
output.Color *= matCol; output.Color *= matCol;
output.TexCoord0.z = clamp((output.Position.w - fogEnd)*fogRange, fogDisable, 1.0);
return output; return output;
} }

View File

@ -3,7 +3,7 @@
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
// //
// fxc /T vs_2_0 /DDIRECTIONALS /DPOINTLIGHTS /DSPOTLIGHTS /Fh // fxc /T vs_2_0 /DDIRECTIONALS /DPOINTLIGHTS /DSPOTLIGHTS /Fh
// default_all_VS.h defaultVS.hlsl // default_all_VS.h default_VS.hlsl
// //
// //
// Parameters: // Parameters:
@ -11,6 +11,7 @@
// float4 ambientLight; // float4 ambientLight;
// float4x4 combinedMat; // float4x4 combinedMat;
// int4 firstLight; // int4 firstLight;
// float4 fogData;
// //
// struct // struct
// { // {
@ -41,14 +42,15 @@
// normalMat c8 3 // normalMat c8 3
// matCol c12 1 // matCol c12 1
// surfProps c13 1 // surfProps c13 1
// ambientLight c14 1 // fogData c14 1
// firstLight c15 1 // ambientLight c15 1
// lights c16 24 // firstLight c16 1
// lights c17 24
// //
vs_2_0 vs_2_0
def c11, 3, 0, 0, 0 def c11, 3, 0, 0, 0
def c40, 0, -0, -1, 1 def c41, 0, -0, -1, 1
dcl_position v0 dcl_position v0
dcl_normal v1 dcl_normal v1
dcl_texcoord v2 dcl_texcoord v2
@ -56,7 +58,8 @@
mul r0, v0.y, c1 mul r0, v0.y, c1
mad r0, c0, v0.x, r0 mad r0, c0, v0.x, r0
mad r0, c2, v0.z, r0 mad r0, c2, v0.z, r0
mad oPos, c3, v0.w, r0 mad r0, c3, v0.w, r0
mov oPos, r0
mul r0.xyz, v0.y, c5 mul r0.xyz, v0.y, c5
mad r0.xyz, c4, v0.x, r0 mad r0.xyz, c4, v0.x, r0
mad r0.xyz, c6, v0.z, r0 mad r0.xyz, c6, v0.z, r0
@ -64,422 +67,443 @@
mul r1.xyz, v1.y, c9 mul r1.xyz, v1.y, c9
mad r1.xyz, c8, v1.x, r1 mad r1.xyz, c8, v1.x, r1
mad r1.xyz, c10, v1.z, r1 mad r1.xyz, c10, v1.z, r1
mov r2.xw, c40 mov r2.xw, c41
slt r0.w, r2.x, c13.w slt r1.w, r2.x, c13.w
add r3, v3, c40.yyyz add r3, v3, c41.yyyz
mad r3, r0.w, r3, c40.xxxw mad r3, r1.w, r3, c41.xxxw
mov r2.x, c13.x mov r2.x, c13.x
mad r2.xyz, c14, r2.x, r3 mad r2.xyz, c15, r2.x, r3
mov r4.xyz, r2 mov r4.xyz, r2
mov r0.w, c40.x mov r1.w, c41.x
rep i0 rep i0
add r1.w, r0.w, c15.x add r4.w, r1.w, c16.x
mul r1.w, r1.w, c11.x mul r4.w, r4.w, c11.x
mova a0.x, r1.w mova a0.x, r4.w
dp3 r1.w, r1, -c18[a0.x] dp3 r4.w, r1, -c19[a0.x]
max r1.w, r1.w, c40.x max r4.w, r4.w, c41.x
mul r5.xyz, r1.w, c16[a0.x] mul r5.xyz, r4.w, c17[a0.x]
mad r4.xyz, r5, c13.z, r4 mad r4.xyz, r5, c13.z, r4
add r0.w, r0.w, c40.w add r1.w, r1.w, c41.w
endrep endrep
mov r2.xyz, r4 mov r2.xyz, r4
mov r0.w, c40.x mov r1.w, c41.x
rep i1 rep i1
add r1.w, r0.w, c15.y add r4.w, r1.w, c16.y
mul r1.w, r1.w, c11.x mul r4.w, r4.w, c11.x
mova a0.x, r1.w mova a0.x, r4.w
add r5.xyz, r0, -c17[a0.x] add r5.xyz, r0, -c18[a0.x]
dp3 r1.w, r5, r5 dp3 r4.w, r5, r5
rsq r1.w, r1.w rsq r4.w, r4.w
mul r5.xyz, r1.w, r5 mul r5.xyz, r4.w, r5
dp3 r4.w, r1, -r5 dp3 r5.x, r1, -r5
max r4.w, r4.w, c40.x max r5.x, r5.x, c41.x
mul r5.xyz, r4.w, c16[a0.x] mul r5.xyz, r5.x, c17[a0.x]
rcp r1.w, r1.w rcp r4.w, r4.w
rcp r4.w, c16[a0.x].w rcp r5.w, c17[a0.x].w
mad r1.w, r1.w, -r4.w, c40.w mad r4.w, r4.w, -r5.w, c41.w
max r1.w, r1.w, c40.x max r4.w, r4.w, c41.x
mul r5.xyz, r1.w, r5 mul r5.xyz, r4.w, r5
mad r2.xyz, r5, c13.z, r2 mad r2.xyz, r5, c13.z, r2
add r0.w, r0.w, c40.w add r1.w, r1.w, c41.w
endrep endrep
mov r3.xyz, r2 mov r3.xyz, r2
mov r0.w, c40.x mov r1.w, c41.x
rep i2 rep i2
add r1.w, r0.w, c15.z add r4.x, r1.w, c16.z
mul r1.w, r1.w, c11.x mul r4.x, r4.x, c11.x
mova a0.x, r1.w mova a0.x, r4.x
add r4.xyz, r0, -c17[a0.x] add r4.xyz, r0, -c18[a0.x]
dp3 r1.w, r4, r4 dp3 r4.w, r4, r4
rsq r1.w, r1.w rsq r4.w, r4.w
mul r4.xyz, r1.w, r4 mul r4.xyz, r4.w, r4
dp3 r4.w, r1, -r4 dp3 r5.x, r1, -r4
dp3 r4.x, r4, c18[a0.x] dp3 r4.x, r4, c19[a0.x]
max r4.y, r4.w, c40.x max r4.y, r5.x, c41.x
add r4.x, r4.x, c17[a0.x].w add r4.x, r4.x, c18[a0.x].w
add r4.z, r2.w, c17[a0.x].w add r4.z, r2.w, c18[a0.x].w
rcp r4.z, r4.z rcp r4.z, r4.z
mul r4.x, r4.z, r4.x mul r4.x, r4.z, r4.x
slt r4.z, r4.x, c40.x slt r4.z, r4.x, c41.x
mad r4.y, r4.z, -r4.y, r4.y mad r4.y, r4.z, -r4.y, r4.y
max r4.x, r4.x, c18[a0.x].w max r4.x, r4.x, c19[a0.x].w
mul r4.x, r4.x, r4.y mul r4.x, r4.x, r4.y
mul r4.xyz, r4.x, c16[a0.x] mul r4.xyz, r4.x, c17[a0.x]
rcp r1.w, r1.w rcp r4.w, r4.w
rcp r4.w, c16[a0.x].w rcp r5.x, c17[a0.x].w
mad r1.w, r1.w, -r4.w, c40.w mad r4.w, r4.w, -r5.x, c41.w
max r1.w, r1.w, c40.x max r4.w, r4.w, c41.x
mul r4.xyz, r1.w, r4 mul r4.xyz, r4.w, r4
mad r3.xyz, r4, c13.z, r3 mad r3.xyz, r4, c13.z, r3
add r0.w, r0.w, c40.w add r1.w, r1.w, c41.w
endrep endrep
max r0, r3, c40.x max r1, r3, c41.x
min r0, r0, c40.w min r1, r1, c41.w
mul oD0, r0, c12 mul oD0, r1, c12
add r0.x, r0.w, -c14.y
mul r0.x, r0.x, c14.z
max r0.x, r0.x, c14.w
min oT0.z, r0.x, c41.w
mov oT0.xy, v2 mov oT0.xy, v2
// approximately 93 instruction slots used // approximately 98 instruction slots used
#endif #endif
const BYTE g_vs20_main[] = const BYTE g_vs20_main[] =
{ {
0, 2, 254, 255, 254, 255, 0, 2, 254, 255, 254, 255,
151, 0, 67, 84, 65, 66, 158, 0, 67, 84, 65, 66,
28, 0, 0, 0, 39, 2, 28, 0, 0, 0, 67, 2,
0, 0, 0, 2, 254, 255, 0, 0, 0, 2, 254, 255,
11, 0, 0, 0, 28, 0, 12, 0, 0, 0, 28, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
32, 2, 0, 0, 248, 0, 60, 2, 0, 0, 12, 1,
0, 0, 2, 0, 14, 0, 0, 0, 2, 0, 15, 0,
1, 0, 58, 0, 8, 1, 1, 0, 62, 0, 28, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
24, 1, 0, 0, 2, 0, 44, 1, 0, 0, 2, 0,
0, 0, 4, 0, 2, 0, 0, 0, 4, 0, 2, 0,
36, 1, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0,
0, 0, 52, 1, 0, 0, 0, 0, 72, 1, 0, 0,
2, 0, 15, 0, 1, 0, 2, 0, 16, 0, 1, 0,
62, 0, 64, 1, 0, 0, 66, 0, 84, 1, 0, 0,
0, 0, 0, 0, 80, 1, 0, 0, 0, 0, 100, 1,
0, 0, 2, 0, 16, 0, 0, 0, 2, 0, 14, 0,
24, 0, 66, 0, 156, 1, 1, 0, 58, 0, 28, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
172, 1, 0, 0, 2, 0, 108, 1, 0, 0, 2, 0,
12, 0, 1, 0, 50, 0, 17, 0, 24, 0, 70, 0,
8, 1, 0, 0, 0, 0, 184, 1, 0, 0, 0, 0,
0, 0, 179, 1, 0, 0, 0, 0, 200, 1, 0, 0,
2, 0, 8, 0, 3, 0, 2, 0, 12, 0, 1, 0,
34, 0, 192, 1, 0, 0, 50, 0, 28, 1, 0, 0,
0, 0, 0, 0, 208, 1, 0, 0, 0, 0, 207, 1,
0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 8, 0,
1, 0, 2, 0, 224, 1, 3, 0, 34, 0, 220, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
240, 1, 0, 0, 1, 0, 236, 1, 0, 0, 1, 0,
1, 0, 1, 0, 6, 0, 0, 0, 1, 0, 2, 0,
224, 1, 0, 0, 0, 0, 252, 1, 0, 0, 0, 0,
0, 0, 255, 1, 0, 0, 0, 0, 12, 2, 0, 0,
1, 0, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0,
10, 0, 224, 1, 0, 0, 6, 0, 252, 1, 0, 0,
0, 0, 0, 0, 13, 2, 0, 0, 0, 0, 27, 2,
0, 0, 2, 0, 13, 0, 0, 0, 1, 0, 2, 0,
1, 0, 54, 0, 8, 1, 1, 0, 10, 0, 252, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
23, 2, 0, 0, 2, 0, 41, 2, 0, 0, 2, 0,
4, 0, 4, 0, 18, 0, 13, 0, 1, 0, 54, 0,
36, 1, 0, 0, 0, 0, 28, 1, 0, 0, 0, 0,
0, 0, 97, 109, 98, 105, 0, 0, 51, 2, 0, 0,
101, 110, 116, 76, 105, 103, 2, 0, 4, 0, 4, 0,
104, 116, 0, 171, 171, 171, 18, 0, 56, 1, 0, 0,
1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 97, 109,
4, 0, 1, 0, 0, 0, 98, 105, 101, 110, 116, 76,
0, 0, 0, 0, 99, 111, 105, 103, 104, 116, 0, 171,
109, 98, 105, 110, 101, 100, 171, 171, 1, 0, 3, 0,
77, 97, 116, 0, 3, 0,
3, 0, 4, 0, 4, 0,
1, 0, 0, 0, 0, 0,
0, 0, 102, 105, 114, 115,
116, 76, 105, 103, 104, 116,
0, 171, 1, 0, 2, 0,
1, 0, 4, 0, 1, 0, 1, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
108, 105, 103, 104, 116, 115, 99, 111, 109, 98, 105, 110,
0, 99, 111, 108, 111, 114, 101, 100, 77, 97, 116, 0,
0, 171, 171, 171, 1, 0, 3, 0, 3, 0, 4, 0,
3, 0, 1, 0, 4, 0, 4, 0, 1, 0, 0, 0,
0, 0, 0, 0, 102, 105,
114, 115, 116, 76, 105, 103,
104, 116, 0, 171, 1, 0,
2, 0, 1, 0, 4, 0,
1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 112, 111, 115, 105, 0, 0, 102, 111, 103, 68,
116, 105, 111, 110, 0, 100, 97, 116, 97, 0, 108, 105,
105, 114, 101, 99, 116, 105, 103, 104, 116, 115, 0, 99,
111, 110, 0, 171, 87, 1, 111, 108, 111, 114, 0, 171,
0, 0, 96, 1, 0, 0, 171, 171, 1, 0, 3, 0,
112, 1, 0, 0, 96, 1, 1, 0, 4, 0, 1, 0,
0, 0, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0,
96, 1, 0, 0, 5, 0, 112, 111, 115, 105, 116, 105,
0, 0, 1, 0, 12, 0, 111, 110, 0, 100, 105, 114,
8, 0, 3, 0, 132, 1, 101, 99, 116, 105, 111, 110,
0, 0, 109, 97, 116, 67, 0, 171, 115, 1, 0, 0,
111, 108, 0, 110, 111, 114, 124, 1, 0, 0, 140, 1,
109, 97, 108, 77, 97, 116, 0, 0, 124, 1, 0, 0,
0, 171, 171, 171, 3, 0, 149, 1, 0, 0, 124, 1,
3, 0, 3, 0, 3, 0, 0, 0, 5, 0, 0, 0,
1, 0, 0, 0, 0, 0, 1, 0, 12, 0, 8, 0,
0, 0, 110, 117, 109, 68, 3, 0, 160, 1, 0, 0,
105, 114, 76, 105, 103, 104, 109, 97, 116, 67, 111, 108,
116, 115, 0, 171, 171, 171, 0, 110, 111, 114, 109, 97,
0, 0, 2, 0, 1, 0, 108, 77, 97, 116, 0, 171,
1, 0, 1, 0, 0, 0, 171, 171, 3, 0, 3, 0,
0, 0, 0, 0, 110, 117, 3, 0, 3, 0, 1, 0,
109, 80, 111, 105, 110, 116, 0, 0, 0, 0, 0, 0,
110, 117, 109, 68, 105, 114,
76, 105, 103, 104, 116, 115, 76, 105, 103, 104, 116, 115,
0, 110, 117, 109, 83, 112, 0, 171, 171, 171, 0, 0,
111, 116, 76, 105, 103, 104, 2, 0, 1, 0, 1, 0,
116, 115, 0, 115, 117, 114, 1, 0, 0, 0, 0, 0,
102, 80, 114, 111, 112, 115, 0, 0, 110, 117, 109, 80,
0, 119, 111, 114, 108, 100, 111, 105, 110, 116, 76, 105,
77, 97, 116, 0, 118, 115, 103, 104, 116, 115, 0, 110,
95, 50, 95, 48, 0, 77, 117, 109, 83, 112, 111, 116,
105, 99, 114, 111, 115, 111, 76, 105, 103, 104, 116, 115,
102, 116, 32, 40, 82, 41, 0, 115, 117, 114, 102, 80,
32, 72, 76, 83, 76, 32, 114, 111, 112, 115, 0, 119,
83, 104, 97, 100, 101, 114, 111, 114, 108, 100, 77, 97,
32, 67, 111, 109, 112, 105, 116, 0, 118, 115, 95, 50,
108, 101, 114, 32, 57, 46, 95, 48, 0, 77, 105, 99,
50, 57, 46, 57, 53, 50, 114, 111, 115, 111, 102, 116,
46, 51, 49, 49, 49, 0, 32, 40, 82, 41, 32, 72,
81, 0, 0, 5, 11, 0, 76, 83, 76, 32, 83, 104,
15, 160, 0, 0, 64, 64, 97, 100, 101, 114, 32, 67,
111, 109, 112, 105, 108, 101,
114, 32, 57, 46, 50, 57,
46, 57, 53, 50, 46, 51,
49, 49, 49, 0, 81, 0,
0, 5, 11, 0, 15, 160,
0, 0, 64, 64, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 81, 0,
0, 5, 41, 0, 15, 160,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81, 0, 0, 5, 40, 0, 0, 128, 0, 0, 128, 191,
15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 31, 0,
0, 0, 0, 128, 0, 0, 0, 2, 0, 0, 0, 128,
128, 191, 0, 0, 128, 63, 0, 0, 15, 144, 31, 0,
31, 0, 0, 2, 0, 0, 0, 2, 3, 0, 0, 128,
0, 128, 0, 0, 15, 144, 1, 0, 15, 144, 31, 0,
31, 0, 0, 2, 3, 0, 0, 2, 5, 0, 0, 128,
0, 128, 1, 0, 15, 144, 2, 0, 15, 144, 31, 0,
31, 0, 0, 2, 5, 0, 0, 2, 10, 0, 0, 128,
0, 128, 2, 0, 15, 144, 3, 0, 15, 144, 5, 0,
31, 0, 0, 2, 10, 0, 0, 3, 0, 0, 15, 128,
0, 128, 3, 0, 15, 144, 0, 0, 85, 144, 1, 0,
5, 0, 0, 3, 0, 0,
15, 128, 0, 0, 85, 144,
1, 0, 228, 160, 4, 0,
0, 4, 0, 0, 15, 128,
0, 0, 228, 160, 0, 0,
0, 144, 0, 0, 228, 128,
4, 0, 0, 4, 0, 0,
15, 128, 2, 0, 228, 160,
0, 0, 170, 144, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 15, 192, 3, 0,
228, 160, 0, 0, 255, 144,
0, 0, 228, 128, 5, 0,
0, 3, 0, 0, 7, 128,
0, 0, 85, 144, 5, 0,
228, 160, 4, 0, 0, 4, 228, 160, 4, 0, 0, 4,
0, 0, 7, 128, 4, 0, 0, 0, 15, 128, 0, 0,
228, 160, 0, 0, 0, 144, 228, 160, 0, 0, 0, 144,
0, 0, 228, 128, 4, 0, 0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 7, 128, 0, 4, 0, 0, 15, 128,
6, 0, 228, 160, 0, 0, 2, 0, 228, 160, 0, 0,
170, 144, 0, 0, 228, 128, 170, 144, 0, 0, 228, 128,
4, 0, 0, 4, 0, 0, 4, 0, 0, 4, 0, 0,
7, 128, 7, 0, 228, 160, 15, 128, 3, 0, 228, 160,
0, 0, 255, 144, 0, 0, 0, 0, 255, 144, 0, 0,
228, 128, 5, 0, 0, 3,
1, 0, 7, 128, 1, 0,
85, 144, 9, 0, 228, 160,
4, 0, 0, 4, 1, 0,
7, 128, 8, 0, 228, 160,
1, 0, 0, 144, 1, 0,
228, 128, 4, 0, 0, 4,
1, 0, 7, 128, 10, 0,
228, 160, 1, 0, 170, 144,
1, 0, 228, 128, 1, 0,
0, 2, 2, 0, 9, 128,
40, 0, 228, 160, 12, 0,
0, 3, 0, 0, 8, 128,
2, 0, 0, 128, 13, 0,
255, 160, 2, 0, 0, 3,
3, 0, 15, 128, 3, 0,
228, 144, 40, 0, 149, 160,
4, 0, 0, 4, 3, 0,
15, 128, 0, 0, 255, 128,
3, 0, 228, 128, 40, 0,
192, 160, 1, 0, 0, 2,
2, 0, 1, 128, 13, 0,
0, 160, 4, 0, 0, 4,
2, 0, 7, 128, 14, 0,
228, 160, 2, 0, 0, 128,
3, 0, 228, 128, 1, 0,
0, 2, 4, 0, 7, 128,
2, 0, 228, 128, 1, 0,
0, 2, 0, 0, 8, 128,
40, 0, 0, 160, 38, 0,
0, 1, 0, 0, 228, 240,
2, 0, 0, 3, 1, 0,
8, 128, 0, 0, 255, 128,
15, 0, 0, 160, 5, 0,
0, 3, 1, 0, 8, 128,
1, 0, 255, 128, 11, 0,
0, 160, 46, 0, 0, 2,
0, 0, 1, 176, 1, 0,
255, 128, 8, 0, 0, 4,
1, 0, 8, 128, 1, 0,
228, 128, 18, 32, 228, 161,
0, 0, 0, 176, 11, 0,
0, 3, 1, 0, 8, 128,
1, 0, 255, 128, 40, 0,
0, 160, 5, 0, 0, 4,
5, 0, 7, 128, 1, 0,
255, 128, 16, 32, 228, 160,
0, 0, 0, 176, 4, 0,
0, 4, 4, 0, 7, 128,
5, 0, 228, 128, 13, 0,
170, 160, 4, 0, 228, 128,
2, 0, 0, 3, 0, 0,
8, 128, 0, 0, 255, 128,
40, 0, 255, 160, 39, 0,
0, 0, 1, 0, 0, 2,
2, 0, 7, 128, 4, 0,
228, 128, 1, 0, 0, 2, 228, 128, 1, 0, 0, 2,
0, 0, 8, 128, 40, 0, 0, 0, 15, 192, 0, 0,
228, 128, 5, 0, 0, 3,
0, 0, 7, 128, 0, 0,
85, 144, 5, 0, 228, 160,
4, 0, 0, 4, 0, 0,
7, 128, 4, 0, 228, 160,
0, 0, 0, 144, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 7, 128, 6, 0,
228, 160, 0, 0, 170, 144,
0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 7, 128,
7, 0, 228, 160, 0, 0,
255, 144, 0, 0, 228, 128,
5, 0, 0, 3, 1, 0,
7, 128, 1, 0, 85, 144,
9, 0, 228, 160, 4, 0,
0, 4, 1, 0, 7, 128,
8, 0, 228, 160, 1, 0,
0, 144, 1, 0, 228, 128,
4, 0, 0, 4, 1, 0,
7, 128, 10, 0, 228, 160,
1, 0, 170, 144, 1, 0,
228, 128, 1, 0, 0, 2,
2, 0, 9, 128, 41, 0,
228, 160, 12, 0, 0, 3,
1, 0, 8, 128, 2, 0,
0, 128, 13, 0, 255, 160,
2, 0, 0, 3, 3, 0,
15, 128, 3, 0, 228, 144,
41, 0, 149, 160, 4, 0,
0, 4, 3, 0, 15, 128,
1, 0, 255, 128, 3, 0,
228, 128, 41, 0, 192, 160,
1, 0, 0, 2, 2, 0,
1, 128, 13, 0, 0, 160,
4, 0, 0, 4, 2, 0,
7, 128, 15, 0, 228, 160,
2, 0, 0, 128, 3, 0,
228, 128, 1, 0, 0, 2,
4, 0, 7, 128, 2, 0,
228, 128, 1, 0, 0, 2,
1, 0, 8, 128, 41, 0,
0, 160, 38, 0, 0, 1, 0, 160, 38, 0, 0, 1,
1, 0, 228, 240, 2, 0, 0, 0, 228, 240, 2, 0,
0, 3, 1, 0, 8, 128, 0, 3, 4, 0, 8, 128,
0, 0, 255, 128, 15, 0, 1, 0, 255, 128, 16, 0,
85, 160, 5, 0, 0, 3, 0, 160, 5, 0, 0, 3,
1, 0, 8, 128, 1, 0, 4, 0, 8, 128, 4, 0,
255, 128, 11, 0, 0, 160, 255, 128, 11, 0, 0, 160,
46, 0, 0, 2, 0, 0, 46, 0, 0, 2, 0, 0,
1, 176, 1, 0, 255, 128, 1, 176, 4, 0, 255, 128,
2, 0, 0, 4, 5, 0, 8, 0, 0, 4, 4, 0,
7, 128, 0, 0, 228, 128, 8, 128, 1, 0, 228, 128,
17, 32, 228, 161, 0, 0, 19, 32, 228, 161, 0, 0,
0, 176, 8, 0, 0, 3, 0, 176, 11, 0, 0, 3,
1, 0, 8, 128, 5, 0,
228, 128, 5, 0, 228, 128,
7, 0, 0, 2, 1, 0,
8, 128, 1, 0, 255, 128,
5, 0, 0, 3, 5, 0,
7, 128, 1, 0, 255, 128,
5, 0, 228, 128, 8, 0,
0, 3, 4, 0, 8, 128,
1, 0, 228, 128, 5, 0,
228, 129, 11, 0, 0, 3,
4, 0, 8, 128, 4, 0, 4, 0, 8, 128, 4, 0,
255, 128, 40, 0, 0, 160, 255, 128, 41, 0, 0, 160,
5, 0, 0, 4, 5, 0, 5, 0, 0, 4, 5, 0,
7, 128, 4, 0, 255, 128, 7, 128, 4, 0, 255, 128,
16, 32, 228, 160, 0, 0, 17, 32, 228, 160, 0, 0,
0, 176, 6, 0, 0, 2, 0, 176, 4, 0, 0, 4,
1, 0, 8, 128, 1, 0, 4, 0, 7, 128, 5, 0,
255, 128, 6, 0, 0, 3, 228, 128, 13, 0, 170, 160,
4, 0, 8, 128, 16, 32, 4, 0, 228, 128, 2, 0,
255, 160, 0, 0, 0, 176,
4, 0, 0, 4, 1, 0,
8, 128, 1, 0, 255, 128,
4, 0, 255, 129, 40, 0,
255, 160, 11, 0, 0, 3,
1, 0, 8, 128, 1, 0,
255, 128, 40, 0, 0, 160,
5, 0, 0, 3, 5, 0,
7, 128, 1, 0, 255, 128,
5, 0, 228, 128, 4, 0,
0, 4, 2, 0, 7, 128,
5, 0, 228, 128, 13, 0,
170, 160, 2, 0, 228, 128,
2, 0, 0, 3, 0, 0,
8, 128, 0, 0, 255, 128,
40, 0, 255, 160, 39, 0,
0, 0, 1, 0, 0, 2,
3, 0, 7, 128, 2, 0,
228, 128, 1, 0, 0, 2,
0, 0, 8, 128, 40, 0,
0, 160, 38, 0, 0, 1,
2, 0, 228, 240, 2, 0,
0, 3, 1, 0, 8, 128, 0, 3, 1, 0, 8, 128,
0, 0, 255, 128, 15, 0, 1, 0, 255, 128, 41, 0,
170, 160, 5, 0, 0, 3, 255, 160, 39, 0, 0, 0,
1, 0, 8, 128, 1, 0, 1, 0, 0, 2, 2, 0,
255, 128, 11, 0, 0, 160, 7, 128, 4, 0, 228, 128,
46, 0, 0, 2, 0, 0, 1, 0, 0, 2, 1, 0,
1, 176, 1, 0, 255, 128, 8, 128, 41, 0, 0, 160,
2, 0, 0, 4, 4, 0, 38, 0, 0, 1, 1, 0,
7, 128, 0, 0, 228, 128, 228, 240, 2, 0, 0, 3,
17, 32, 228, 161, 0, 0, 4, 0, 8, 128, 1, 0,
0, 176, 8, 0, 0, 3, 255, 128, 16, 0, 85, 160,
1, 0, 8, 128, 4, 0,
228, 128, 4, 0, 228, 128,
7, 0, 0, 2, 1, 0,
8, 128, 1, 0, 255, 128,
5, 0, 0, 3, 4, 0, 5, 0, 0, 3, 4, 0,
7, 128, 1, 0, 255, 128, 8, 128, 4, 0, 255, 128,
4, 0, 228, 128, 8, 0, 11, 0, 0, 160, 46, 0,
0, 3, 4, 0, 8, 128, 0, 2, 0, 0, 1, 176,
1, 0, 228, 128, 4, 0, 4, 0, 255, 128, 2, 0,
228, 129, 8, 0, 0, 4, 0, 4, 5, 0, 7, 128,
4, 0, 1, 128, 4, 0, 0, 0, 228, 128, 18, 32,
228, 128, 18, 32, 228, 160, 228, 161, 0, 0, 0, 176,
0, 0, 0, 176, 11, 0, 8, 0, 0, 3, 4, 0,
0, 3, 4, 0, 2, 128, 8, 128, 5, 0, 228, 128,
4, 0, 255, 128, 40, 0, 5, 0, 228, 128, 7, 0,
0, 160, 2, 0, 0, 4, 0, 2, 4, 0, 8, 128,
4, 0, 1, 128, 4, 0, 4, 0, 255, 128, 5, 0,
0, 128, 17, 32, 255, 160, 0, 3, 5, 0, 7, 128,
0, 0, 0, 176, 2, 0, 4, 0, 255, 128, 5, 0,
0, 4, 4, 0, 4, 128, 228, 128, 8, 0, 0, 3,
2, 0, 255, 128, 17, 32, 5, 0, 1, 128, 1, 0,
255, 160, 0, 0, 0, 176, 228, 128, 5, 0, 228, 129,
11, 0, 0, 3, 5, 0,
1, 128, 5, 0, 0, 128,
41, 0, 0, 160, 5, 0,
0, 4, 5, 0, 7, 128,
5, 0, 0, 128, 17, 32,
228, 160, 0, 0, 0, 176,
6, 0, 0, 2, 4, 0, 6, 0, 0, 2, 4, 0,
4, 128, 4, 0, 170, 128, 8, 128, 4, 0, 255, 128,
5, 0, 0, 3, 4, 0, 6, 0, 0, 3, 5, 0,
1, 128, 4, 0, 170, 128, 8, 128, 17, 32, 255, 160,
4, 0, 0, 128, 12, 0, 0, 0, 0, 176, 4, 0,
0, 3, 4, 0, 4, 128, 0, 4, 4, 0, 8, 128,
4, 0, 0, 128, 40, 0, 4, 0, 255, 128, 5, 0,
0, 160, 4, 0, 0, 4, 255, 129, 41, 0, 255, 160,
4, 0, 2, 128, 4, 0, 11, 0, 0, 3, 4, 0,
170, 128, 4, 0, 85, 129, 8, 128, 4, 0, 255, 128,
4, 0, 85, 128, 11, 0, 41, 0, 0, 160, 5, 0,
0, 4, 4, 0, 1, 128, 0, 3, 5, 0, 7, 128,
4, 0, 0, 128, 18, 32, 4, 0, 255, 128, 5, 0,
255, 160, 0, 0, 0, 176, 228, 128, 4, 0, 0, 4,
2, 0, 7, 128, 5, 0,
228, 128, 13, 0, 170, 160,
2, 0, 228, 128, 2, 0,
0, 3, 1, 0, 8, 128,
1, 0, 255, 128, 41, 0,
255, 160, 39, 0, 0, 0,
1, 0, 0, 2, 3, 0,
7, 128, 2, 0, 228, 128,
1, 0, 0, 2, 1, 0,
8, 128, 41, 0, 0, 160,
38, 0, 0, 1, 2, 0,
228, 240, 2, 0, 0, 3,
4, 0, 1, 128, 1, 0,
255, 128, 16, 0, 170, 160,
5, 0, 0, 3, 4, 0, 5, 0, 0, 3, 4, 0,
1, 128, 4, 0, 0, 128, 1, 128, 4, 0, 0, 128,
4, 0, 85, 128, 5, 0, 11, 0, 0, 160, 46, 0,
0, 2, 0, 0, 1, 176,
4, 0, 0, 128, 2, 0,
0, 4, 4, 0, 7, 128, 0, 4, 4, 0, 7, 128,
4, 0, 0, 128, 16, 32, 0, 0, 228, 128, 18, 32,
228, 160, 0, 0, 0, 176, 228, 161, 0, 0, 0, 176,
6, 0, 0, 2, 1, 0, 8, 0, 0, 3, 4, 0,
8, 128, 1, 0, 255, 128, 8, 128, 4, 0, 228, 128,
6, 0, 0, 3, 4, 0, 4, 0, 228, 128, 7, 0,
8, 128, 16, 32, 255, 160, 0, 2, 4, 0, 8, 128,
0, 0, 0, 176, 4, 0, 4, 0, 255, 128, 5, 0,
0, 4, 1, 0, 8, 128,
1, 0, 255, 128, 4, 0,
255, 129, 40, 0, 255, 160,
11, 0, 0, 3, 1, 0,
8, 128, 1, 0, 255, 128,
40, 0, 0, 160, 5, 0,
0, 3, 4, 0, 7, 128, 0, 3, 4, 0, 7, 128,
1, 0, 255, 128, 4, 0, 4, 0, 255, 128, 4, 0,
228, 128, 4, 0, 0, 4, 228, 128, 8, 0, 0, 3,
3, 0, 7, 128, 4, 0, 5, 0, 1, 128, 1, 0,
228, 128, 13, 0, 170, 160, 228, 128, 4, 0, 228, 129,
3, 0, 228, 128, 2, 0, 8, 0, 0, 4, 4, 0,
0, 3, 0, 0, 8, 128, 1, 128, 4, 0, 228, 128,
0, 0, 255, 128, 40, 0, 19, 32, 228, 160, 0, 0,
255, 160, 39, 0, 0, 0, 0, 176, 11, 0, 0, 3,
4, 0, 2, 128, 5, 0,
0, 128, 41, 0, 0, 160,
2, 0, 0, 4, 4, 0,
1, 128, 4, 0, 0, 128,
18, 32, 255, 160, 0, 0,
0, 176, 2, 0, 0, 4,
4, 0, 4, 128, 2, 0,
255, 128, 18, 32, 255, 160,
0, 0, 0, 176, 6, 0,
0, 2, 4, 0, 4, 128,
4, 0, 170, 128, 5, 0,
0, 3, 4, 0, 1, 128,
4, 0, 170, 128, 4, 0,
0, 128, 12, 0, 0, 3,
4, 0, 4, 128, 4, 0,
0, 128, 41, 0, 0, 160,
4, 0, 0, 4, 4, 0,
2, 128, 4, 0, 170, 128,
4, 0, 85, 129, 4, 0,
85, 128, 11, 0, 0, 4,
4, 0, 1, 128, 4, 0,
0, 128, 19, 32, 255, 160,
0, 0, 0, 176, 5, 0,
0, 3, 4, 0, 1, 128,
4, 0, 0, 128, 4, 0,
85, 128, 5, 0, 0, 4,
4, 0, 7, 128, 4, 0,
0, 128, 17, 32, 228, 160,
0, 0, 0, 176, 6, 0,
0, 2, 4, 0, 8, 128,
4, 0, 255, 128, 6, 0,
0, 3, 5, 0, 1, 128,
17, 32, 255, 160, 0, 0,
0, 176, 4, 0, 0, 4,
4, 0, 8, 128, 4, 0,
255, 128, 5, 0, 0, 129,
41, 0, 255, 160, 11, 0,
0, 3, 4, 0, 8, 128,
4, 0, 255, 128, 41, 0,
0, 160, 5, 0, 0, 3,
4, 0, 7, 128, 4, 0,
255, 128, 4, 0, 228, 128,
4, 0, 0, 4, 3, 0,
7, 128, 4, 0, 228, 128,
13, 0, 170, 160, 3, 0,
228, 128, 2, 0, 0, 3,
1, 0, 8, 128, 1, 0,
255, 128, 41, 0, 255, 160,
39, 0, 0, 0, 11, 0,
0, 3, 1, 0, 15, 128,
3, 0, 228, 128, 41, 0,
0, 160, 10, 0, 0, 3,
1, 0, 15, 128, 1, 0,
228, 128, 41, 0, 255, 160,
5, 0, 0, 3, 0, 0,
15, 208, 1, 0, 228, 128,
12, 0, 228, 160, 2, 0,
0, 3, 0, 0, 1, 128,
0, 0, 255, 128, 14, 0,
85, 161, 5, 0, 0, 3,
0, 0, 1, 128, 0, 0,
0, 128, 14, 0, 170, 160,
11, 0, 0, 3, 0, 0, 11, 0, 0, 3, 0, 0,
15, 128, 3, 0, 228, 128, 1, 128, 0, 0, 0, 128,
40, 0, 0, 160, 10, 0, 14, 0, 255, 160, 10, 0,
0, 3, 0, 0, 15, 128, 0, 3, 0, 0, 4, 224,
0, 0, 228, 128, 40, 0, 0, 0, 0, 128, 41, 0,
255, 160, 5, 0, 0, 3, 255, 160, 1, 0, 0, 2,
0, 0, 15, 208, 0, 0, 0, 0, 3, 224, 2, 0,
228, 128, 12, 0, 228, 160, 228, 144, 255, 255, 0, 0
1, 0, 0, 2, 0, 0,
3, 224, 2, 0, 228, 144,
255, 255, 0, 0
}; };

View File

@ -2,13 +2,14 @@
// //
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
// //
// fxc /T vs_2_0 /Fh default_amb_VS.h defaultVS.hlsl // fxc /T vs_2_0 /Fh default_amb_VS.h default_VS.hlsl
// //
// //
// Parameters: // Parameters:
// //
// float4 ambientLight; // float4 ambientLight;
// float4x4 combinedMat; // float4x4 combinedMat;
// float4 fogData;
// float4 matCol; // float4 matCol;
// float4 surfProps; // float4 surfProps;
// //
@ -20,7 +21,8 @@
// combinedMat c0 4 // combinedMat c0 4
// matCol c12 1 // matCol c12 1
// surfProps c13 1 // surfProps c13 1
// ambientLight c14 1 // fogData c14 1
// ambientLight c15 1
// //
vs_2_0 vs_2_0
@ -28,92 +30,89 @@
dcl_position v0 dcl_position v0
dcl_texcoord v1 dcl_texcoord v1
dcl_color v2 dcl_color v2
mul r0, v0.y, c1
mad r0, c0, v0.x, r0
mad r0, c2, v0.z, r0
mad oPos, c3, v0.w, r0
mov r0.x, c4.x mov r0.x, c4.x
slt r0.x, r0.x, c13.w slt r0.x, r0.x, c13.w
add r1, v2, c4.yyyz add r1, v2, c4.yyyz
mad r0, r0.x, r1, c4.xxxw mad r0, r0.x, r1, c4.xxxw
mov r1.x, c13.x mov r1.x, c13.x
mad r0.xyz, c14, r1.x, r0 mad r0.xyz, c15, r1.x, r0
max r0, r0, c4.x max r0, r0, c4.x
min r0, r0, c4.w min r0, r0, c4.w
mul oD0, r0, c12 mul oD0, r0, c12
mul r0, v0.y, c1
mad r0, c0, v0.x, r0
mad r0, c2, v0.z, r0
mad r0, c3, v0.w, r0
add r1.x, r0.w, -c14.y
mov oPos, r0
mul r0.x, r1.x, c14.z
max r0.x, r0.x, c14.w
min oT0.z, r0.x, c4.w
mov oT0.xy, v1 mov oT0.xy, v1
// approximately 14 instruction slots used // approximately 19 instruction slots used
#endif #endif
const BYTE g_vs20_main[] = const BYTE g_vs20_main[] =
{ {
0, 2, 254, 255, 254, 255, 0, 2, 254, 255, 254, 255,
62, 0, 67, 84, 65, 66, 69, 0, 67, 84, 65, 66,
28, 0, 0, 0, 192, 0, 28, 0, 0, 0, 220, 0,
0, 0, 0, 2, 254, 255, 0, 0, 0, 2, 254, 255,
4, 0, 0, 0, 28, 0, 5, 0, 0, 0, 28, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
185, 0, 0, 0, 108, 0, 213, 0, 0, 0, 128, 0,
0, 0, 2, 0, 14, 0, 0, 0, 2, 0, 15, 0,
1, 0, 58, 0, 124, 0, 1, 0, 62, 0, 144, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
140, 0, 0, 0, 2, 0, 160, 0, 0, 0, 2, 0,
0, 0, 4, 0, 2, 0, 0, 0, 4, 0, 2, 0,
152, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0,
0, 0, 168, 0, 0, 0, 0, 0, 188, 0, 0, 0,
2, 0, 12, 0, 1, 0, 2, 0, 14, 0, 1, 0,
50, 0, 124, 0, 0, 0, 58, 0, 144, 0, 0, 0,
0, 0, 0, 0, 175, 0, 0, 0, 0, 0, 196, 0,
0, 0, 2, 0, 13, 0, 0, 0, 2, 0, 12, 0,
1, 0, 54, 0, 124, 0, 1, 0, 50, 0, 144, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
97, 109, 98, 105, 101, 110, 203, 0, 0, 0, 2, 0,
116, 76, 105, 103, 104, 116, 13, 0, 1, 0, 54, 0,
0, 171, 171, 171, 1, 0, 144, 0, 0, 0, 0, 0,
3, 0, 1, 0, 4, 0, 0, 0, 97, 109, 98, 105,
101, 110, 116, 76, 105, 103,
104, 116, 0, 171, 171, 171,
1, 0, 3, 0, 1, 0,
4, 0, 1, 0, 0, 0,
0, 0, 0, 0, 99, 111,
109, 98, 105, 110, 101, 100,
77, 97, 116, 0, 3, 0,
3, 0, 4, 0, 4, 0,
1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 99, 111, 109, 98, 0, 0, 102, 111, 103, 68,
105, 110, 101, 100, 77, 97, 97, 116, 97, 0, 109, 97,
116, 0, 3, 0, 3, 0, 116, 67, 111, 108, 0, 115,
4, 0, 4, 0, 1, 0, 117, 114, 102, 80, 114, 111,
0, 0, 0, 0, 0, 0, 112, 115, 0, 118, 115, 95,
109, 97, 116, 67, 111, 108, 50, 95, 48, 0, 77, 105,
0, 115, 117, 114, 102, 80, 99, 114, 111, 115, 111, 102,
114, 111, 112, 115, 0, 118, 116, 32, 40, 82, 41, 32,
115, 95, 50, 95, 48, 0, 72, 76, 83, 76, 32, 83,
77, 105, 99, 114, 111, 115, 104, 97, 100, 101, 114, 32,
111, 102, 116, 32, 40, 82, 67, 111, 109, 112, 105, 108,
41, 32, 72, 76, 83, 76, 101, 114, 32, 57, 46, 50,
32, 83, 104, 97, 100, 101, 57, 46, 57, 53, 50, 46,
114, 32, 67, 111, 109, 112, 51, 49, 49, 49, 0, 171,
105, 108, 101, 114, 32, 57, 171, 171, 81, 0, 0, 5,
46, 50, 57, 46, 57, 53, 4, 0, 15, 160, 0, 0,
50, 46, 51, 49, 49, 49, 0, 0, 0, 0, 0, 128,
0, 171, 171, 171, 81, 0, 0, 0, 128, 191, 0, 0,
0, 5, 4, 0, 15, 160, 128, 63, 31, 0, 0, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0,
0, 128, 0, 0, 128, 191, 15, 144, 31, 0, 0, 2,
0, 0, 128, 63, 31, 0, 5, 0, 0, 128, 1, 0,
0, 2, 0, 0, 0, 128, 15, 144, 31, 0, 0, 2,
0, 0, 15, 144, 31, 0, 10, 0, 0, 128, 2, 0,
0, 2, 5, 0, 0, 128, 15, 144, 1, 0, 0, 2,
1, 0, 15, 144, 31, 0,
0, 2, 10, 0, 0, 128,
2, 0, 15, 144, 5, 0,
0, 3, 0, 0, 15, 128,
0, 0, 85, 144, 1, 0,
228, 160, 4, 0, 0, 4,
0, 0, 15, 128, 0, 0,
228, 160, 0, 0, 0, 144,
0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 15, 128,
2, 0, 228, 160, 0, 0,
170, 144, 0, 0, 228, 128,
4, 0, 0, 4, 0, 0,
15, 192, 3, 0, 228, 160,
0, 0, 255, 144, 0, 0,
228, 128, 1, 0, 0, 2,
0, 0, 1, 128, 4, 0, 0, 0, 1, 128, 4, 0,
0, 160, 12, 0, 0, 3, 0, 160, 12, 0, 0, 3,
0, 0, 1, 128, 0, 0, 0, 0, 1, 128, 0, 0,
@ -127,7 +126,7 @@ const BYTE g_vs20_main[] =
1, 0, 0, 2, 1, 0, 1, 0, 0, 2, 1, 0,
1, 128, 13, 0, 0, 160, 1, 128, 13, 0, 0, 160,
4, 0, 0, 4, 0, 0, 4, 0, 0, 4, 0, 0,
7, 128, 14, 0, 228, 160, 7, 128, 15, 0, 228, 160,
1, 0, 0, 128, 0, 0, 1, 0, 0, 128, 0, 0,
228, 128, 11, 0, 0, 3, 228, 128, 11, 0, 0, 3,
0, 0, 15, 128, 0, 0, 0, 0, 15, 128, 0, 0,
@ -137,7 +136,33 @@ const BYTE g_vs20_main[] =
4, 0, 255, 160, 5, 0, 4, 0, 255, 160, 5, 0,
0, 3, 0, 0, 15, 208, 0, 3, 0, 0, 15, 208,
0, 0, 228, 128, 12, 0, 0, 0, 228, 128, 12, 0,
228, 160, 1, 0, 0, 2, 228, 160, 5, 0, 0, 3,
0, 0, 3, 224, 1, 0, 0, 0, 15, 128, 0, 0,
228, 144, 255, 255, 0, 0 85, 144, 1, 0, 228, 160,
4, 0, 0, 4, 0, 0,
15, 128, 0, 0, 228, 160,
0, 0, 0, 144, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 15, 128, 2, 0,
228, 160, 0, 0, 170, 144,
0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 15, 128,
3, 0, 228, 160, 0, 0,
255, 144, 0, 0, 228, 128,
2, 0, 0, 3, 1, 0,
1, 128, 0, 0, 255, 128,
14, 0, 85, 161, 1, 0,
0, 2, 0, 0, 15, 192,
0, 0, 228, 128, 5, 0,
0, 3, 0, 0, 1, 128,
1, 0, 0, 128, 14, 0,
170, 160, 11, 0, 0, 3,
0, 0, 1, 128, 0, 0,
0, 128, 14, 0, 255, 160,
10, 0, 0, 3, 0, 0,
4, 224, 0, 0, 0, 128,
4, 0, 255, 160, 1, 0,
0, 2, 0, 0, 3, 224,
1, 0, 228, 144, 255, 255,
0, 0
}; };

View File

@ -2,7 +2,7 @@
// //
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
// //
// fxc /T vs_2_0 /DDIRECTIONALS /Fh default_amb_dir_VS.h defaultVS.hlsl // fxc /T vs_2_0 /DDIRECTIONALS /Fh default_amb_dir_VS.h default_VS.hlsl
// //
// //
// Parameters: // Parameters:
@ -10,6 +10,7 @@
// float4 ambientLight; // float4 ambientLight;
// float4x4 combinedMat; // float4x4 combinedMat;
// int4 firstLight; // int4 firstLight;
// float4 fogData;
// //
// struct // struct
// { // {
@ -34,9 +35,10 @@
// normalMat c8 3 // normalMat c8 3
// matCol c12 1 // matCol c12 1
// surfProps c13 1 // surfProps c13 1
// ambientLight c14 1 // fogData c14 1
// firstLight c15 1 // ambientLight c15 1
// lights c16 24 // firstLight c16 1
// lights c17 24
// //
vs_2_0 vs_2_0
@ -49,216 +51,238 @@
mul r0, v0.y, c1 mul r0, v0.y, c1
mad r0, c0, v0.x, r0 mad r0, c0, v0.x, r0
mad r0, c2, v0.z, r0 mad r0, c2, v0.z, r0
mad oPos, c3, v0.w, r0 mad r0, c3, v0.w, r0
mov oPos, r0
mul r0.xyz, v1.y, c9 mul r0.xyz, v1.y, c9
mad r0.xyz, c8, v1.x, r0 mad r0.xyz, c8, v1.x, r0
mad r0.xyz, c10, v1.z, r0 mad r0.xyz, c10, v1.z, r0
mov r1.x, c5.x mov r1.x, c5.x
slt r0.w, r1.x, c13.w slt r1.x, r1.x, c13.w
add r1, v3, c5.yyyz add r2, v3, c5.yyyz
mad r1, r0.w, r1, c5.xxxw mad r1, r1.x, r2, c5.xxxw
mov r2.x, c13.x mov r2.x, c13.x
mad r2.xyz, c14, r2.x, r1 mad r2.xyz, c15, r2.x, r1
mov r1.xyz, r2 mov r1.xyz, r2
mov r0.w, c5.x mov r2.w, c5.x
rep i0 rep i0
add r2.w, r0.w, c15.x add r3.x, r2.w, c16.x
mul r2.w, r2.w, c4.x mul r3.x, r3.x, c4.x
mova a0.x, r2.w mova a0.x, r3.x
dp3 r2.w, r0, -c18[a0.x] dp3 r3.x, r0, -c19[a0.x]
max r2.w, r2.w, c5.x max r3.x, r3.x, c5.x
mul r3.xyz, r2.w, c16[a0.x] mul r3.xyz, r3.x, c17[a0.x]
mad r1.xyz, r3, c13.z, r1 mad r1.xyz, r3, c13.z, r1
add r0.w, r0.w, c5.w add r2.w, r2.w, c5.w
endrep endrep
max r0, r1, c5.x max r1, r1, c5.x
min r0, r0, c5.w min r1, r1, c5.w
mul oD0, r0, c12 mul oD0, r1, c12
add r0.x, r0.w, -c14.y
mul r0.x, r0.x, c14.z
max r0.x, r0.x, c14.w
min oT0.z, r0.x, c5.w
mov oT0.xy, v2 mov oT0.xy, v2
// approximately 32 instruction slots used // approximately 37 instruction slots used
#endif #endif
const BYTE g_vs20_main[] = const BYTE g_vs20_main[] =
{ {
0, 2, 254, 255, 254, 255, 0, 2, 254, 255, 254, 255,
127, 0, 67, 84, 65, 66, 134, 0, 67, 84, 65, 66,
28, 0, 0, 0, 197, 1, 28, 0, 0, 0, 225, 1,
0, 0, 0, 2, 254, 255, 0, 0, 0, 2, 254, 255,
8, 0, 0, 0, 28, 0, 9, 0, 0, 0, 28, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
190, 1, 0, 0, 188, 0, 218, 1, 0, 0, 208, 0,
0, 0, 2, 0, 14, 0, 0, 0, 2, 0, 15, 0,
1, 0, 58, 0, 204, 0, 1, 0, 62, 0, 224, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220, 0, 0, 0, 2, 0, 240, 0, 0, 0, 2, 0,
0, 0, 4, 0, 2, 0, 0, 0, 4, 0, 2, 0,
232, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 0,
0, 0, 248, 0, 0, 0, 0, 0, 12, 1, 0, 0,
2, 0, 15, 0, 1, 0, 2, 0, 16, 0, 1, 0,
62, 0, 4, 1, 0, 0, 66, 0, 24, 1, 0, 0,
0, 0, 0, 0, 20, 1, 0, 0, 0, 0, 40, 1,
0, 0, 2, 0, 16, 0, 0, 0, 2, 0, 14, 0,
24, 0, 66, 0, 96, 1, 1, 0, 58, 0, 224, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
112, 1, 0, 0, 2, 0, 48, 1, 0, 0, 2, 0,
12, 0, 1, 0, 50, 0, 17, 0, 24, 0, 70, 0,
204, 0, 0, 0, 0, 0, 124, 1, 0, 0, 0, 0,
0, 0, 119, 1, 0, 0, 0, 0, 140, 1, 0, 0,
2, 0, 8, 0, 3, 0, 2, 0, 12, 0, 1, 0,
34, 0, 132, 1, 0, 0, 50, 0, 224, 0, 0, 0,
0, 0, 0, 0, 148, 1, 0, 0, 0, 0, 147, 1,
0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 8, 0,
1, 0, 2, 0, 164, 1, 3, 0, 34, 0, 160, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
180, 1, 0, 0, 2, 0, 176, 1, 0, 0, 1, 0,
13, 0, 1, 0, 54, 0, 0, 0, 1, 0, 2, 0,
204, 0, 0, 0, 0, 0, 192, 1, 0, 0, 0, 0,
0, 0, 97, 109, 98, 105, 0, 0, 208, 1, 0, 0,
101, 110, 116, 76, 105, 103, 2, 0, 13, 0, 1, 0,
104, 116, 0, 171, 171, 171, 54, 0, 224, 0, 0, 0,
1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 97, 109,
4, 0, 1, 0, 0, 0, 98, 105, 101, 110, 116, 76,
0, 0, 0, 0, 99, 111, 105, 103, 104, 116, 0, 171,
109, 98, 105, 110, 101, 100, 171, 171, 1, 0, 3, 0,
77, 97, 116, 0, 3, 0,
3, 0, 4, 0, 4, 0,
1, 0, 0, 0, 0, 0,
0, 0, 102, 105, 114, 115,
116, 76, 105, 103, 104, 116,
0, 171, 1, 0, 2, 0,
1, 0, 4, 0, 1, 0, 1, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
108, 105, 103, 104, 116, 115, 99, 111, 109, 98, 105, 110,
0, 99, 111, 108, 111, 114, 101, 100, 77, 97, 116, 0,
0, 171, 171, 171, 1, 0, 3, 0, 3, 0, 4, 0,
3, 0, 1, 0, 4, 0, 4, 0, 1, 0, 0, 0,
0, 0, 0, 0, 102, 105,
114, 115, 116, 76, 105, 103,
104, 116, 0, 171, 1, 0,
2, 0, 1, 0, 4, 0,
1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 112, 111, 115, 105, 0, 0, 102, 111, 103, 68,
116, 105, 111, 110, 0, 100, 97, 116, 97, 0, 108, 105,
105, 114, 101, 99, 116, 105, 103, 104, 116, 115, 0, 99,
111, 110, 0, 171, 27, 1, 111, 108, 111, 114, 0, 171,
0, 0, 36, 1, 0, 0, 171, 171, 1, 0, 3, 0,
52, 1, 0, 0, 36, 1, 1, 0, 4, 0, 1, 0,
0, 0, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0,
36, 1, 0, 0, 5, 0, 112, 111, 115, 105, 116, 105,
0, 0, 1, 0, 12, 0, 111, 110, 0, 100, 105, 114,
8, 0, 3, 0, 72, 1, 101, 99, 116, 105, 111, 110,
0, 0, 109, 97, 116, 67, 0, 171, 55, 1, 0, 0,
111, 108, 0, 110, 111, 114, 64, 1, 0, 0, 80, 1,
109, 97, 108, 77, 97, 116, 0, 0, 64, 1, 0, 0,
0, 171, 171, 171, 3, 0, 89, 1, 0, 0, 64, 1,
3, 0, 3, 0, 3, 0, 0, 0, 5, 0, 0, 0,
1, 0, 12, 0, 8, 0,
3, 0, 100, 1, 0, 0,
109, 97, 116, 67, 111, 108,
0, 110, 111, 114, 109, 97,
108, 77, 97, 116, 0, 171,
171, 171, 3, 0, 3, 0,
3, 0, 3, 0, 1, 0,
0, 0, 0, 0, 0, 0,
110, 117, 109, 68, 105, 114,
76, 105, 103, 104, 116, 115,
0, 171, 171, 171, 0, 0,
2, 0, 1, 0, 1, 0,
1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 110, 117, 109, 68, 0, 0, 115, 117, 114, 102,
105, 114, 76, 105, 103, 104, 80, 114, 111, 112, 115, 0,
116, 115, 0, 171, 171, 171, 118, 115, 95, 50, 95, 48,
0, 0, 2, 0, 1, 0, 0, 77, 105, 99, 114, 111,
1, 0, 1, 0, 0, 0, 115, 111, 102, 116, 32, 40,
0, 0, 0, 0, 115, 117, 82, 41, 32, 72, 76, 83,
114, 102, 80, 114, 111, 112, 76, 32, 83, 104, 97, 100,
115, 0, 118, 115, 95, 50, 101, 114, 32, 67, 111, 109,
95, 48, 0, 77, 105, 99, 112, 105, 108, 101, 114, 32,
114, 111, 115, 111, 102, 116, 57, 46, 50, 57, 46, 57,
32, 40, 82, 41, 32, 72, 53, 50, 46, 51, 49, 49,
76, 83, 76, 32, 83, 104, 49, 0, 171, 171, 81, 0,
97, 100, 101, 114, 32, 67, 0, 5, 4, 0, 15, 160,
111, 109, 112, 105, 108, 101, 0, 0, 64, 64, 0, 0,
114, 32, 57, 46, 50, 57,
46, 57, 53, 50, 46, 51,
49, 49, 49, 0, 171, 171,
81, 0, 0, 5, 4, 0,
15, 160, 0, 0, 64, 64,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 81, 0,
0, 5, 5, 0, 15, 160,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81, 0, 0, 5, 5, 0, 0, 128, 0, 0, 128, 191,
15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 31, 0,
0, 0, 0, 128, 0, 0, 0, 2, 0, 0, 0, 128,
128, 191, 0, 0, 128, 63, 0, 0, 15, 144, 31, 0,
31, 0, 0, 2, 0, 0, 0, 2, 3, 0, 0, 128,
0, 128, 0, 0, 15, 144, 1, 0, 15, 144, 31, 0,
31, 0, 0, 2, 3, 0, 0, 2, 5, 0, 0, 128,
0, 128, 1, 0, 15, 144, 2, 0, 15, 144, 31, 0,
31, 0, 0, 2, 5, 0, 0, 2, 10, 0, 0, 128,
0, 128, 2, 0, 15, 144, 3, 0, 15, 144, 5, 0,
31, 0, 0, 2, 10, 0,
0, 128, 3, 0, 15, 144,
5, 0, 0, 3, 0, 0,
15, 128, 0, 0, 85, 144,
1, 0, 228, 160, 4, 0,
0, 4, 0, 0, 15, 128,
0, 0, 228, 160, 0, 0,
0, 144, 0, 0, 228, 128,
4, 0, 0, 4, 0, 0,
15, 128, 2, 0, 228, 160,
0, 0, 170, 144, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 15, 192, 3, 0,
228, 160, 0, 0, 255, 144,
0, 0, 228, 128, 5, 0,
0, 3, 0, 0, 7, 128,
1, 0, 85, 144, 9, 0,
228, 160, 4, 0, 0, 4,
0, 0, 7, 128, 8, 0,
228, 160, 1, 0, 0, 144,
0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 7, 128,
10, 0, 228, 160, 1, 0,
170, 144, 0, 0, 228, 128,
1, 0, 0, 2, 1, 0,
1, 128, 5, 0, 0, 160,
12, 0, 0, 3, 0, 0,
8, 128, 1, 0, 0, 128,
13, 0, 255, 160, 2, 0,
0, 3, 1, 0, 15, 128,
3, 0, 228, 144, 5, 0,
149, 160, 4, 0, 0, 4,
1, 0, 15, 128, 0, 0,
255, 128, 1, 0, 228, 128,
5, 0, 192, 160, 1, 0,
0, 2, 2, 0, 1, 128,
13, 0, 0, 160, 4, 0,
0, 4, 2, 0, 7, 128,
14, 0, 228, 160, 2, 0,
0, 128, 1, 0, 228, 128,
1, 0, 0, 2, 1, 0,
7, 128, 2, 0, 228, 128,
1, 0, 0, 2, 0, 0,
8, 128, 5, 0, 0, 160,
38, 0, 0, 1, 0, 0,
228, 240, 2, 0, 0, 3,
2, 0, 8, 128, 0, 0,
255, 128, 15, 0, 0, 160,
5, 0, 0, 3, 2, 0,
8, 128, 2, 0, 255, 128,
4, 0, 0, 160, 46, 0,
0, 2, 0, 0, 1, 176,
2, 0, 255, 128, 8, 0,
0, 4, 2, 0, 8, 128,
0, 0, 228, 128, 18, 32,
228, 161, 0, 0, 0, 176,
11, 0, 0, 3, 2, 0,
8, 128, 2, 0, 255, 128,
5, 0, 0, 160, 5, 0,
0, 4, 3, 0, 7, 128,
2, 0, 255, 128, 16, 32,
228, 160, 0, 0, 0, 176,
4, 0, 0, 4, 1, 0,
7, 128, 3, 0, 228, 128,
13, 0, 170, 160, 1, 0,
228, 128, 2, 0, 0, 3,
0, 0, 8, 128, 0, 0,
255, 128, 5, 0, 255, 160,
39, 0, 0, 0, 11, 0,
0, 3, 0, 0, 15, 128, 0, 3, 0, 0, 15, 128,
1, 0, 228, 128, 5, 0, 0, 0, 85, 144, 1, 0,
0, 160, 10, 0, 0, 3, 228, 160, 4, 0, 0, 4,
0, 0, 15, 128, 0, 0, 0, 0, 15, 128, 0, 0,
228, 128, 5, 0, 255, 160, 228, 160, 0, 0, 0, 144,
0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 15, 128,
2, 0, 228, 160, 0, 0,
170, 144, 0, 0, 228, 128,
4, 0, 0, 4, 0, 0,
15, 128, 3, 0, 228, 160,
0, 0, 255, 144, 0, 0,
228, 128, 1, 0, 0, 2,
0, 0, 15, 192, 0, 0,
228, 128, 5, 0, 0, 3,
0, 0, 7, 128, 1, 0,
85, 144, 9, 0, 228, 160,
4, 0, 0, 4, 0, 0,
7, 128, 8, 0, 228, 160,
1, 0, 0, 144, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 7, 128, 10, 0,
228, 160, 1, 0, 170, 144,
0, 0, 228, 128, 1, 0,
0, 2, 1, 0, 1, 128,
5, 0, 0, 160, 12, 0,
0, 3, 1, 0, 1, 128,
1, 0, 0, 128, 13, 0,
255, 160, 2, 0, 0, 3,
2, 0, 15, 128, 3, 0,
228, 144, 5, 0, 149, 160,
4, 0, 0, 4, 1, 0,
15, 128, 1, 0, 0, 128,
2, 0, 228, 128, 5, 0,
192, 160, 1, 0, 0, 2,
2, 0, 1, 128, 13, 0,
0, 160, 4, 0, 0, 4,
2, 0, 7, 128, 15, 0,
228, 160, 2, 0, 0, 128,
1, 0, 228, 128, 1, 0,
0, 2, 1, 0, 7, 128,
2, 0, 228, 128, 1, 0,
0, 2, 2, 0, 8, 128,
5, 0, 0, 160, 38, 0,
0, 1, 0, 0, 228, 240,
2, 0, 0, 3, 3, 0,
1, 128, 2, 0, 255, 128,
16, 0, 0, 160, 5, 0,
0, 3, 3, 0, 1, 128,
3, 0, 0, 128, 4, 0,
0, 160, 46, 0, 0, 2,
0, 0, 1, 176, 3, 0,
0, 128, 8, 0, 0, 4,
3, 0, 1, 128, 0, 0,
228, 128, 19, 32, 228, 161,
0, 0, 0, 176, 11, 0,
0, 3, 3, 0, 1, 128,
3, 0, 0, 128, 5, 0,
0, 160, 5, 0, 0, 4,
3, 0, 7, 128, 3, 0,
0, 128, 17, 32, 228, 160,
0, 0, 0, 176, 4, 0,
0, 4, 1, 0, 7, 128,
3, 0, 228, 128, 13, 0,
170, 160, 1, 0, 228, 128,
2, 0, 0, 3, 2, 0,
8, 128, 2, 0, 255, 128,
5, 0, 255, 160, 39, 0,
0, 0, 11, 0, 0, 3,
1, 0, 15, 128, 1, 0,
228, 128, 5, 0, 0, 160,
10, 0, 0, 3, 1, 0,
15, 128, 1, 0, 228, 128,
5, 0, 255, 160, 5, 0,
0, 3, 0, 0, 15, 208,
1, 0, 228, 128, 12, 0,
228, 160, 2, 0, 0, 3,
0, 0, 1, 128, 0, 0,
255, 128, 14, 0, 85, 161,
5, 0, 0, 3, 0, 0, 5, 0, 0, 3, 0, 0,
15, 208, 0, 0, 228, 128, 1, 128, 0, 0, 0, 128,
12, 0, 228, 160, 1, 0, 14, 0, 170, 160, 11, 0,
0, 2, 0, 0, 3, 224, 0, 3, 0, 0, 1, 128,
2, 0, 228, 144, 255, 255, 0, 0, 0, 128, 14, 0,
0, 0 255, 160, 10, 0, 0, 3,
0, 0, 4, 224, 0, 0,
0, 128, 5, 0, 255, 160,
1, 0, 0, 2, 0, 0,
3, 224, 2, 0, 228, 144,
255, 255, 0, 0
}; };

View File

@ -1,37 +0,0 @@
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// fxc /T ps_2_0 /Fh default_color_PS.h default_color_PS.hlsl
//
ps_2_0
dcl v0
mov oC0, v0
// approximately 1 instruction slot used
#endif
const BYTE g_ps20_main[] =
{
0, 2, 255, 255, 254, 255,
22, 0, 67, 84, 65, 66,
28, 0, 0, 0, 35, 0,
0, 0, 0, 2, 255, 255,
0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0,
28, 0, 0, 0, 112, 115,
95, 50, 95, 48, 0, 77,
105, 99, 114, 111, 115, 111,
102, 116, 32, 40, 82, 41,
32, 72, 76, 83, 76, 32,
83, 104, 97, 100, 101, 114,
32, 67, 111, 109, 112, 105,
108, 101, 114, 32, 57, 46,
50, 57, 46, 57, 53, 50,
46, 51, 49, 49, 49, 0,
31, 0, 0, 2, 0, 0,
0, 128, 0, 0, 15, 144,
1, 0, 0, 2, 0, 8,
15, 128, 0, 0, 228, 144,
255, 255, 0, 0
};

View File

@ -1,10 +0,0 @@
struct VS_out {
float4 Position : POSITION;
float2 TexCoord0 : TEXCOORD0;
float4 Color : COLOR0;
};
float4 main(VS_out input) : COLOR
{
return input.Color;
}

View File

@ -1,71 +0,0 @@
#if 0
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// fxc /T ps_2_0 /Fh default_color_tex_PS.h default_color_tex_PS.hlsl
//
//
// Parameters:
//
// sampler2D tex0;
//
//
// Registers:
//
// Name Reg Size
// ------------ ----- ----
// tex0 s0 1
//
ps_2_0
dcl t0.xy
dcl v0
dcl_2d s0
texld r0, t0, s0
mul r0, r0, v0
mov oC0, r0
// approximately 3 instruction slots used (1 texture, 2 arithmetic)
#endif
const BYTE g_ps20_main[] =
{
0, 2, 255, 255, 254, 255,
33, 0, 67, 84, 65, 66,
28, 0, 0, 0, 79, 0,
0, 0, 0, 2, 255, 255,
1, 0, 0, 0, 28, 0,
0, 0, 0, 1, 0, 0,
72, 0, 0, 0, 48, 0,
0, 0, 3, 0, 0, 0,
1, 0, 2, 0, 56, 0,
0, 0, 0, 0, 0, 0,
116, 101, 120, 48, 0, 171,
171, 171, 4, 0, 12, 0,
1, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0,
112, 115, 95, 50, 95, 48,
0, 77, 105, 99, 114, 111,
115, 111, 102, 116, 32, 40,
82, 41, 32, 72, 76, 83,
76, 32, 83, 104, 97, 100,
101, 114, 32, 67, 111, 109,
112, 105, 108, 101, 114, 32,
57, 46, 50, 57, 46, 57,
53, 50, 46, 51, 49, 49,
49, 0, 31, 0, 0, 2,
0, 0, 0, 128, 0, 0,
3, 176, 31, 0, 0, 2,
0, 0, 0, 128, 0, 0,
15, 144, 31, 0, 0, 2,
0, 0, 0, 144, 0, 8,
15, 160, 66, 0, 0, 3,
0, 0, 15, 128, 0, 0,
228, 176, 0, 8, 228, 160,
5, 0, 0, 3, 0, 0,
15, 128, 0, 0, 228, 128,
0, 0, 228, 144, 1, 0,
0, 2, 0, 8, 15, 128,
0, 0, 228, 128, 255, 255,
0, 0
};

View File

@ -9,5 +9,9 @@ sampler2D tex0 : register(s0);
float4 main(VS_out input) : COLOR float4 main(VS_out input) : COLOR
{ {
return tex2D(tex0, input.TexCoord0.xy) * input.Color; float4 color = input.Color;
#ifdef TEX
color *= tex2D(tex0, input.TexCoord0.xy);
#endif
return color;
} }

View File

@ -3,5 +3,8 @@
"%DXSDK_DIR%\utilities\bin\x86\fxc.exe" /T vs_2_0 /DDIRECTIONALS /Fh default_amb_dir_VS.h default_VS.hlsl "%DXSDK_DIR%\utilities\bin\x86\fxc.exe" /T vs_2_0 /DDIRECTIONALS /Fh default_amb_dir_VS.h default_VS.hlsl
"%DXSDK_DIR%\utilities\bin\x86\fxc.exe" /T vs_2_0 /DDIRECTIONALS /DPOINTLIGHTS /DSPOTLIGHTS /Fh default_all_VS.h default_VS.hlsl "%DXSDK_DIR%\utilities\bin\x86\fxc.exe" /T vs_2_0 /DDIRECTIONALS /DPOINTLIGHTS /DSPOTLIGHTS /Fh default_all_VS.h default_VS.hlsl
"%DXSDK_DIR%\utilities\bin\x86\fxc.exe" /T ps_2_0 /Fh default_color_PS.h default_color_PS.hlsl "%DXSDK_DIR%\utilities\bin\x86\fxc.exe" /T ps_2_0 /Fh default_PS.h default_PS.hlsl
"%DXSDK_DIR%\utilities\bin\x86\fxc.exe" /T ps_2_0 /Fh default_color_tex_PS.h default_color_tex_PS.hlsl "%DXSDK_DIR%\utilities\bin\x86\fxc.exe" /T ps_2_0 /DTEX /Fh default_tex_PS.h default_PS.hlsl
"%DXSDK_DIR%\utilities\bin\x86\fxc.exe" /T ps_2_0 /Fh im2d_PS.h im2d_PS.hlsl
"%DXSDK_DIR%\utilities\bin\x86\fxc.exe" /T ps_2_0 /DTEX /Fh im2d_tex_PS.h im2d_PS.hlsl

View File

@ -9,6 +9,7 @@
// //
// float4 colorClamp; // float4 colorClamp;
// sampler2D envTex; // sampler2D envTex;
// float4 fogColor;
// float shininess; // float shininess;
// //
// //
@ -16,90 +17,107 @@
// //
// Name Reg Size // Name Reg Size
// ------------ ----- ---- // ------------ ----- ----
// shininess c0 1 // fogColor c0 1
// colorClamp c1 1 // shininess c1 1
// colorClamp c2 1
// envTex s1 1 // envTex s1 1
// //
ps_2_0 ps_2_0
dcl t0.xyz
dcl t1.xy dcl t1.xy
dcl v0 dcl v0
dcl_2d s1 dcl_2d s1
texld r0, t1, s1 texld r0, t1, s1
max r1.xyz, v0, c1 max r1.xyz, v0, c2
mul r1.xyz, r1, c0.x mul r1.xyz, r1, c1.x
mul r0.xyz, r0, r1 mul r0.xyz, r0, r1
mad r0.xyz, v0, v0.w, r0 add r1.xyz, v0, -c0
mad r1.xyz, t0.z, r1, c0
mad r0.xyz, r1, v0.w, r0
mov r0.w, v0.w mov r0.w, v0.w
mov oC0, r0 mov oC0, r0
// approximately 7 instruction slots used (1 texture, 6 arithmetic) // approximately 9 instruction slots used (1 texture, 8 arithmetic)
#endif #endif
const BYTE g_ps20_main[] = const BYTE g_ps20_main[] =
{ {
0, 2, 255, 255, 254, 255, 0, 2, 255, 255, 254, 255,
57, 0, 67, 84, 65, 66, 64, 0, 67, 84, 65, 66,
28, 0, 0, 0, 175, 0, 28, 0, 0, 0, 203, 0,
0, 0, 0, 2, 255, 255, 0, 0, 0, 2, 255, 255,
3, 0, 0, 0, 28, 0, 4, 0, 0, 0, 28, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
168, 0, 0, 0, 88, 0, 196, 0, 0, 0, 108, 0,
0, 0, 2, 0, 1, 0, 0, 0, 2, 0, 2, 0,
1, 0, 6, 0, 100, 0, 1, 0, 10, 0, 120, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
116, 0, 0, 0, 3, 0, 136, 0, 0, 0, 3, 0,
1, 0, 1, 0, 6, 0, 1, 0, 1, 0, 6, 0,
124, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0,
0, 0, 140, 0, 0, 0, 0, 0, 160, 0, 0, 0,
2, 0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 0,
2, 0, 152, 0, 0, 0, 2, 0, 120, 0, 0, 0,
0, 0, 0, 0, 99, 111, 0, 0, 0, 0, 169, 0,
108, 111, 114, 67, 108, 97, 0, 0, 2, 0, 1, 0,
109, 112, 0, 171, 1, 0, 1, 0, 6, 0, 180, 0,
3, 0, 1, 0, 4, 0,
1, 0, 0, 0, 0, 0,
0, 0, 101, 110, 118, 84,
101, 120, 0, 171, 4, 0,
12, 0, 1, 0, 1, 0,
1, 0, 0, 0, 0, 0,
0, 0, 115, 104, 105, 110,
105, 110, 101, 115, 115, 0,
171, 171, 0, 0, 3, 0,
1, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
112, 115, 95, 50, 95, 48, 99, 111, 108, 111, 114, 67,
0, 77, 105, 99, 114, 111, 108, 97, 109, 112, 0, 171,
115, 111, 102, 116, 32, 40, 1, 0, 3, 0, 1, 0,
82, 41, 32, 72, 76, 83, 4, 0, 1, 0, 0, 0,
76, 32, 83, 104, 97, 100, 0, 0, 0, 0, 101, 110,
101, 114, 32, 67, 111, 109, 118, 84, 101, 120, 0, 171,
112, 105, 108, 101, 114, 32, 4, 0, 12, 0, 1, 0,
57, 46, 50, 57, 46, 57, 1, 0, 1, 0, 0, 0,
53, 50, 46, 51, 49, 49, 0, 0, 0, 0, 102, 111,
49, 0, 31, 0, 0, 2, 103, 67, 111, 108, 111, 114,
0, 0, 0, 128, 1, 0, 0, 115, 104, 105, 110, 105,
3, 176, 31, 0, 0, 2, 110, 101, 115, 115, 0, 171,
0, 0, 0, 128, 0, 0, 0, 0, 3, 0, 1, 0,
15, 144, 31, 0, 0, 2, 1, 0, 1, 0, 0, 0,
0, 0, 0, 144, 1, 8, 0, 0, 0, 0, 112, 115,
15, 160, 66, 0, 0, 3, 95, 50, 95, 48, 0, 77,
0, 0, 15, 128, 1, 0, 105, 99, 114, 111, 115, 111,
228, 176, 1, 8, 228, 160, 102, 116, 32, 40, 82, 41,
11, 0, 0, 3, 1, 0, 32, 72, 76, 83, 76, 32,
7, 128, 0, 0, 228, 144, 83, 104, 97, 100, 101, 114,
1, 0, 228, 160, 5, 0, 32, 67, 111, 109, 112, 105,
108, 101, 114, 32, 57, 46,
50, 57, 46, 57, 53, 50,
46, 51, 49, 49, 49, 0,
31, 0, 0, 2, 0, 0,
0, 128, 0, 0, 7, 176,
31, 0, 0, 2, 0, 0,
0, 128, 1, 0, 3, 176,
31, 0, 0, 2, 0, 0,
0, 128, 0, 0, 15, 144,
31, 0, 0, 2, 0, 0,
0, 144, 1, 8, 15, 160,
66, 0, 0, 3, 0, 0,
15, 128, 1, 0, 228, 176,
1, 8, 228, 160, 11, 0,
0, 3, 1, 0, 7, 128, 0, 3, 1, 0, 7, 128,
0, 0, 228, 144, 2, 0,
228, 160, 5, 0, 0, 3,
1, 0, 7, 128, 1, 0,
228, 128, 1, 0, 0, 160,
5, 0, 0, 3, 0, 0,
7, 128, 0, 0, 228, 128,
1, 0, 228, 128, 2, 0,
0, 3, 1, 0, 7, 128,
0, 0, 228, 144, 0, 0,
228, 161, 4, 0, 0, 4,
1, 0, 7, 128, 0, 0,
170, 176, 1, 0, 228, 128,
0, 0, 228, 160, 4, 0,
0, 4, 0, 0, 7, 128,
1, 0, 228, 128, 0, 0, 1, 0, 228, 128, 0, 0,
0, 160, 5, 0, 0, 3, 255, 144, 0, 0, 228, 128,
0, 0, 7, 128, 0, 0, 1, 0, 0, 2, 0, 0,
228, 128, 1, 0, 228, 128, 8, 128, 0, 0, 255, 144,
4, 0, 0, 4, 0, 0, 1, 0, 0, 2, 0, 8,
7, 128, 0, 0, 228, 144, 15, 128, 0, 0, 228, 128,
0, 0, 255, 144, 0, 0, 255, 255, 0, 0
228, 128, 1, 0, 0, 2,
0, 0, 8, 128, 0, 0,
255, 144, 1, 0, 0, 2,
0, 8, 15, 128, 0, 0,
228, 128, 255, 255, 0, 0
}; };

View File

@ -1,6 +1,6 @@
struct VS_out { struct VS_out {
float4 Position : POSITION; float4 Position : POSITION;
float2 TexCoord0 : TEXCOORD0; float3 TexCoord0 : TEXCOORD0;
float2 TexCoord1 : TEXCOORD1; float2 TexCoord1 : TEXCOORD1;
float4 Color : COLOR0; float4 Color : COLOR0;
}; };
@ -8,8 +8,10 @@ struct VS_out {
sampler2D diffTex : register(s0); sampler2D diffTex : register(s0);
sampler2D envTex : register(s1); sampler2D envTex : register(s1);
float shininess : register(c0); float4 fogColor : register(c0);
float4 colorClamp : register(c1);
float shininess : register(c1);
float4 colorClamp : register(c2);
float4 main(VS_out input) : COLOR float4 main(VS_out input) : COLOR
{ {
@ -21,6 +23,8 @@ float4 main(VS_out input) : COLOR
float4 envColor = max(pass1, colorClamp); float4 envColor = max(pass1, colorClamp);
float4 pass2 = envColor*shininess*tex2D(envTex, input.TexCoord1.xy); float4 pass2 = envColor*shininess*tex2D(envTex, input.TexCoord1.xy);
pass1.rgb = lerp(fogColor.rgb, pass1.rgb, input.TexCoord0.z);
// We simulate drawing this in two passes. // We simulate drawing this in two passes.
// First pass with standard blending, second with addition // First pass with standard blending, second with addition
// We premultiply alpha so render state should be one. // We premultiply alpha so render state should be one.

View File

@ -1,28 +1,6 @@
float4x4 combinedMat : register(c0); #include "standardConstants.h"
float4x4 worldMat : register(c4);
float3x3 normalMat : register(c8);
float4 matCol : register(c12);
float4 surfProps : register(c13);
float4 ambientLight : register(c14);
#define surfAmbient (surfProps.x) float4x4 texMat : register(c41);
#define surfSpecular (surfProps.y)
#define surfDiffuse (surfProps.z)
#define surfPrelight (surfProps.w)
#include "lighting.h"
int numDirLights : register(i0);
int numPointLights : register(i1);
int numSpotLights : register(i2);
int4 firstLight : register(c15);
Light lights[8] : register(c16);
float4x4 texMat : register(c40);
#define firstDirLight (firstLight.x)
#define firstPointLight (firstLight.y)
#define firstSpotLight (firstLight.z)
struct VS_in struct VS_in
{ {
@ -34,7 +12,7 @@ struct VS_in
struct VS_out { struct VS_out {
float4 Position : POSITION; float4 Position : POSITION;
float2 TexCoord0 : TEXCOORD0; float3 TexCoord0 : TEXCOORD0; // also fog
float2 TexCoord1 : TEXCOORD1; float2 TexCoord1 : TEXCOORD1;
float4 Color : COLOR0; float4 Color : COLOR0;
}; };
@ -48,7 +26,7 @@ VS_out main(in VS_in input)
float3 Vertex = mul(worldMat, input.Position).xyz; float3 Vertex = mul(worldMat, input.Position).xyz;
float3 Normal = mul(normalMat, input.Normal); float3 Normal = mul(normalMat, input.Normal);
output.TexCoord0 = input.TexCoord; output.TexCoord0.xy = input.TexCoord;
output.TexCoord1 = mul(texMat, float4(Normal, 1.0)).xy; output.TexCoord1 = mul(texMat, float4(Normal, 1.0)).xy;
output.Color = float4(0.0, 0.0, 0.0, 1.0); output.Color = float4(0.0, 0.0, 0.0, 1.0);
@ -74,5 +52,7 @@ VS_out main(in VS_in input)
output.Color = clamp(output.Color, 0.0, 1.0); output.Color = clamp(output.Color, 0.0, 1.0);
output.Color *= matCol; output.Color *= matCol;
output.TexCoord0.z = clamp((output.Position.w - fogEnd)*fogRange, fogDisable, 1.0);
return output; return output;
} }

View File

@ -11,6 +11,7 @@
// float4 ambientLight; // float4 ambientLight;
// float4x4 combinedMat; // float4x4 combinedMat;
// int4 firstLight; // int4 firstLight;
// float4 fogData;
// //
// struct // struct
// { // {
@ -42,15 +43,16 @@
// normalMat c8 3 // normalMat c8 3
// matCol c12 1 // matCol c12 1
// surfProps c13 1 // surfProps c13 1
// ambientLight c14 1 // fogData c14 1
// firstLight c15 1 // ambientLight c15 1
// lights c16 24 // firstLight c16 1
// texMat c40 4 // lights c17 24
// texMat c41 4
// //
vs_2_0 vs_2_0
def c11, 3, 0, 0, 0 def c11, 3, 0, 0, 0
def c44, 0, -0, -1, 1 def c45, 0, -0, -1, 1
dcl_position v0 dcl_position v0
dcl_normal v1 dcl_normal v1
dcl_texcoord v2 dcl_texcoord v2
@ -58,7 +60,8 @@
mul r0, v0.y, c1 mul r0, v0.y, c1
mad r0, c0, v0.x, r0 mad r0, c0, v0.x, r0
mad r0, c2, v0.z, r0 mad r0, c2, v0.z, r0
mad oPos, c3, v0.w, r0 mad r0, c3, v0.w, r0
mov oPos, r0
mul r0.xyz, v0.y, c5 mul r0.xyz, v0.y, c5
mad r0.xyz, c4, v0.x, r0 mad r0.xyz, c4, v0.x, r0
mad r0.xyz, c6, v0.z, r0 mad r0.xyz, c6, v0.z, r0
@ -66,443 +69,464 @@
mul r1.xyz, v1.y, c9 mul r1.xyz, v1.y, c9
mad r1.xyz, c8, v1.x, r1 mad r1.xyz, c8, v1.x, r1
mad r1.xyz, c10, v1.z, r1 mad r1.xyz, c10, v1.z, r1
mov r2.xw, c44 mov r2.xw, c45
slt r0.w, r2.x, c13.w slt r1.w, r2.x, c13.w
add r3, v3, c44.yyyz add r3, v3, c45.yyyz
mad r3, r0.w, r3, c44.xxxw mad r3, r1.w, r3, c45.xxxw
mov r2.x, c13.x mov r2.x, c13.x
mad r2.xyz, c14, r2.x, r3 mad r2.xyz, c15, r2.x, r3
mov r4.xyz, r2 mov r4.xyz, r2
mov r0.w, c44.x mov r1.w, c45.x
rep i0 rep i0
add r1.w, r0.w, c15.x add r4.w, r1.w, c16.x
mul r1.w, r1.w, c11.x mul r4.w, r4.w, c11.x
mova a0.x, r1.w mova a0.x, r4.w
dp3 r1.w, r1, -c18[a0.x] dp3 r4.w, r1, -c19[a0.x]
max r1.w, r1.w, c44.x max r4.w, r4.w, c45.x
mul r5.xyz, r1.w, c16[a0.x] mul r5.xyz, r4.w, c17[a0.x]
mad r4.xyz, r5, c13.z, r4 mad r4.xyz, r5, c13.z, r4
add r0.w, r0.w, c44.w add r1.w, r1.w, c45.w
endrep endrep
mov r2.xyz, r4 mov r2.xyz, r4
mov r0.w, c44.x mov r1.w, c45.x
rep i1 rep i1
add r1.w, r0.w, c15.y add r4.w, r1.w, c16.y
mul r1.w, r1.w, c11.x mul r4.w, r4.w, c11.x
mova a0.x, r1.w mova a0.x, r4.w
add r5.xyz, r0, -c17[a0.x] add r5.xyz, r0, -c18[a0.x]
dp3 r1.w, r5, r5 dp3 r4.w, r5, r5
rsq r1.w, r1.w rsq r4.w, r4.w
mul r5.xyz, r1.w, r5 mul r5.xyz, r4.w, r5
dp3 r4.w, r1, -r5 dp3 r5.x, r1, -r5
max r4.w, r4.w, c44.x max r5.x, r5.x, c45.x
mul r5.xyz, r4.w, c16[a0.x] mul r5.xyz, r5.x, c17[a0.x]
rcp r1.w, r1.w rcp r4.w, r4.w
rcp r4.w, c16[a0.x].w rcp r5.w, c17[a0.x].w
mad r1.w, r1.w, -r4.w, c44.w mad r4.w, r4.w, -r5.w, c45.w
max r1.w, r1.w, c44.x max r4.w, r4.w, c45.x
mul r5.xyz, r1.w, r5 mul r5.xyz, r4.w, r5
mad r2.xyz, r5, c13.z, r2 mad r2.xyz, r5, c13.z, r2
add r0.w, r0.w, c44.w add r1.w, r1.w, c45.w
endrep endrep
mov r3.xyz, r2 mov r3.xyz, r2
mov r0.w, c44.x mov r1.w, c45.x
rep i2 rep i2
add r1.w, r0.w, c15.z add r4.x, r1.w, c16.z
mul r1.w, r1.w, c11.x mul r4.x, r4.x, c11.x
mova a0.x, r1.w mova a0.x, r4.x
add r4.xyz, r0, -c17[a0.x] add r4.xyz, r0, -c18[a0.x]
dp3 r1.w, r4, r4 dp3 r4.w, r4, r4
rsq r1.w, r1.w rsq r4.w, r4.w
mul r4.xyz, r1.w, r4 mul r4.xyz, r4.w, r4
dp3 r4.w, r1, -r4 dp3 r5.x, r1, -r4
dp3 r4.x, r4, c18[a0.x] dp3 r4.x, r4, c19[a0.x]
max r4.y, r4.w, c44.x max r4.y, r5.x, c45.x
add r4.x, r4.x, c17[a0.x].w add r4.x, r4.x, c18[a0.x].w
add r4.z, r2.w, c17[a0.x].w add r4.z, r2.w, c18[a0.x].w
rcp r4.z, r4.z rcp r4.z, r4.z
mul r4.x, r4.z, r4.x mul r4.x, r4.z, r4.x
slt r4.z, r4.x, c44.x slt r4.z, r4.x, c45.x
mad r4.y, r4.z, -r4.y, r4.y mad r4.y, r4.z, -r4.y, r4.y
max r4.x, r4.x, c18[a0.x].w max r4.x, r4.x, c19[a0.x].w
mul r4.x, r4.x, r4.y mul r4.x, r4.x, r4.y
mul r4.xyz, r4.x, c16[a0.x] mul r4.xyz, r4.x, c17[a0.x]
rcp r1.w, r1.w rcp r4.w, r4.w
rcp r4.w, c16[a0.x].w rcp r5.x, c17[a0.x].w
mad r1.w, r1.w, -r4.w, c44.w mad r4.w, r4.w, -r5.x, c45.w
max r1.w, r1.w, c44.x max r4.w, r4.w, c45.x
mul r4.xyz, r1.w, r4 mul r4.xyz, r4.w, r4
mad r3.xyz, r4, c13.z, r3 mad r3.xyz, r4, c13.z, r3
add r0.w, r0.w, c44.w add r1.w, r1.w, c45.w
endrep endrep
max r0, r3, c44.x max r2, r3, c45.x
min r0, r0, c44.w min r2, r2, c45.w
mul oD0, r0, c12 mul oD0, r2, c12
mul r0.xy, r1.y, c41 mul r0.xy, r1.y, c42
mad r0.xy, c40, r1.x, r0 mad r0.xy, c41, r1.x, r0
mad r0.xy, c42, r1.z, r0 mad r0.xy, c43, r1.z, r0
add oT1.xy, r0, c43 add oT1.xy, r0, c44
add r0.x, r0.w, -c14.y
mul r0.x, r0.x, c14.z
max r0.x, r0.x, c14.w
min oT0.z, r0.x, c45.w
mov oT0.xy, v2 mov oT0.xy, v2
// approximately 97 instruction slots used // approximately 102 instruction slots used
#endif #endif
const BYTE g_vs20_main[] = const BYTE g_vs20_main[] =
{ {
0, 2, 254, 255, 254, 255, 0, 2, 254, 255, 254, 255,
158, 0, 67, 84, 65, 66, 165, 0, 67, 84, 65, 66,
28, 0, 0, 0, 66, 2, 28, 0, 0, 0, 94, 2,
0, 0, 0, 2, 254, 255, 0, 0, 0, 2, 254, 255,
12, 0, 0, 0, 28, 0, 13, 0, 0, 0, 28, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
59, 2, 0, 0, 12, 1, 87, 2, 0, 0, 32, 1,
0, 0, 2, 0, 14, 0, 0, 0, 2, 0, 15, 0,
1, 0, 58, 0, 28, 1, 1, 0, 62, 0, 48, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
44, 1, 0, 0, 2, 0, 64, 1, 0, 0, 2, 0,
0, 0, 4, 0, 2, 0, 0, 0, 4, 0, 2, 0,
56, 1, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0,
0, 0, 72, 1, 0, 0, 0, 0, 92, 1, 0, 0,
2, 0, 15, 0, 1, 0, 2, 0, 16, 0, 1, 0,
62, 0, 84, 1, 0, 0, 66, 0, 104, 1, 0, 0,
0, 0, 0, 0, 100, 1, 0, 0, 0, 0, 120, 1,
0, 0, 2, 0, 16, 0, 0, 0, 2, 0, 14, 0,
24, 0, 66, 0, 176, 1, 1, 0, 58, 0, 48, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
192, 1, 0, 0, 2, 0, 128, 1, 0, 0, 2, 0,
12, 0, 1, 0, 50, 0, 17, 0, 24, 0, 70, 0,
28, 1, 0, 0, 0, 0, 204, 1, 0, 0, 0, 0,
0, 0, 199, 1, 0, 0, 0, 0, 220, 1, 0, 0,
2, 0, 8, 0, 3, 0, 2, 0, 12, 0, 1, 0,
34, 0, 212, 1, 0, 0, 50, 0, 48, 1, 0, 0,
0, 0, 0, 0, 228, 1, 0, 0, 0, 0, 227, 1,
0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 8, 0,
1, 0, 2, 0, 244, 1, 3, 0, 34, 0, 240, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4, 2, 0, 0, 1, 0, 0, 2, 0, 0, 1, 0,
1, 0, 1, 0, 6, 0, 0, 0, 1, 0, 2, 0,
244, 1, 0, 0, 0, 0, 16, 2, 0, 0, 0, 0,
0, 0, 19, 2, 0, 0, 0, 0, 32, 2, 0, 0,
1, 0, 2, 0, 1, 0,
10, 0, 244, 1, 0, 0,
0, 0, 0, 0, 33, 2,
0, 0, 2, 0, 13, 0,
1, 0, 54, 0, 28, 1,
0, 0, 0, 0, 0, 0,
43, 2, 0, 0, 2, 0,
40, 0, 4, 0, 162, 0,
56, 1, 0, 0, 0, 0,
0, 0, 50, 2, 0, 0,
2, 0, 4, 0, 4, 0,
18, 0, 56, 1, 0, 0,
0, 0, 0, 0, 97, 109,
98, 105, 101, 110, 116, 76,
105, 103, 104, 116, 0, 171,
171, 171, 1, 0, 3, 0,
1, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0,
99, 111, 109, 98, 105, 110,
101, 100, 77, 97, 116, 0,
3, 0, 3, 0, 4, 0,
4, 0, 1, 0, 0, 0,
0, 0, 0, 0, 102, 105,
114, 115, 116, 76, 105, 103,
104, 116, 0, 171, 1, 0,
2, 0, 1, 0, 4, 0,
1, 0, 0, 0, 0, 0,
0, 0, 108, 105, 103, 104,
116, 115, 0, 99, 111, 108,
111, 114, 0, 171, 171, 171,
1, 0, 3, 0, 1, 0,
4, 0, 1, 0, 0, 0,
0, 0, 0, 0, 112, 111,
115, 105, 116, 105, 111, 110,
0, 100, 105, 114, 101, 99,
116, 105, 111, 110, 0, 171,
107, 1, 0, 0, 116, 1,
0, 0, 132, 1, 0, 0,
116, 1, 0, 0, 141, 1,
0, 0, 116, 1, 0, 0,
5, 0, 0, 0, 1, 0,
12, 0, 8, 0, 3, 0,
152, 1, 0, 0, 109, 97,
116, 67, 111, 108, 0, 110,
111, 114, 109, 97, 108, 77,
97, 116, 0, 171, 171, 171,
3, 0, 3, 0, 3, 0,
3, 0, 1, 0, 0, 0,
0, 0, 0, 0, 110, 117,
109, 68, 105, 114, 76, 105,
103, 104, 116, 115, 0, 171,
171, 171, 0, 0, 2, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
6, 0, 16, 2, 0, 0,
0, 0, 0, 0, 47, 2,
0, 0, 1, 0, 2, 0,
1, 0, 10, 0, 16, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
110, 117, 109, 80, 111, 105, 61, 2, 0, 0, 2, 0,
110, 116, 76, 105, 103, 104, 13, 0, 1, 0, 54, 0,
116, 115, 0, 110, 117, 109, 48, 1, 0, 0, 0, 0,
83, 112, 111, 116, 76, 105, 0, 0, 71, 2, 0, 0,
103, 104, 116, 115, 0, 115, 2, 0, 41, 0, 4, 0,
117, 114, 102, 80, 114, 111, 166, 0, 76, 1, 0, 0,
112, 115, 0, 116, 101, 120, 0, 0, 0, 0, 78, 2,
77, 97, 116, 0, 119, 111, 0, 0, 2, 0, 4, 0,
114, 108, 100, 77, 97, 116, 4, 0, 18, 0, 76, 1,
0, 118, 115, 95, 50, 95,
48, 0, 77, 105, 99, 114,
111, 115, 111, 102, 116, 32,
40, 82, 41, 32, 72, 76,
83, 76, 32, 83, 104, 97,
100, 101, 114, 32, 67, 111,
109, 112, 105, 108, 101, 114,
32, 57, 46, 50, 57, 46,
57, 53, 50, 46, 51, 49,
49, 49, 0, 171, 81, 0,
0, 5, 11, 0, 15, 160,
0, 0, 64, 64, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 81, 0, 97, 109, 98, 105, 101, 110,
0, 5, 44, 0, 15, 160, 116, 76, 105, 103, 104, 116,
0, 171, 171, 171, 1, 0,
3, 0, 1, 0, 4, 0,
1, 0, 0, 0, 0, 0,
0, 0, 99, 111, 109, 98,
105, 110, 101, 100, 77, 97,
116, 0, 3, 0, 3, 0,
4, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 128, 0, 0, 128, 191, 102, 105, 114, 115, 116, 76,
0, 0, 128, 63, 31, 0, 105, 103, 104, 116, 0, 171,
0, 2, 0, 0, 0, 128, 1, 0, 2, 0, 1, 0,
0, 0, 15, 144, 31, 0, 4, 0, 1, 0, 0, 0,
0, 2, 3, 0, 0, 128, 0, 0, 0, 0, 102, 111,
1, 0, 15, 144, 31, 0, 103, 68, 97, 116, 97, 0,
0, 2, 5, 0, 0, 128, 108, 105, 103, 104, 116, 115,
2, 0, 15, 144, 31, 0, 0, 99, 111, 108, 111, 114,
0, 2, 10, 0, 0, 128, 0, 171, 171, 171, 1, 0,
3, 0, 15, 144, 5, 0, 3, 0, 1, 0, 4, 0,
0, 3, 0, 0, 15, 128, 1, 0, 0, 0, 0, 0,
0, 0, 85, 144, 1, 0, 0, 0, 112, 111, 115, 105,
228, 160, 4, 0, 0, 4, 116, 105, 111, 110, 0, 100,
105, 114, 101, 99, 116, 105,
111, 110, 0, 171, 135, 1,
0, 0, 144, 1, 0, 0,
160, 1, 0, 0, 144, 1,
0, 0, 169, 1, 0, 0,
144, 1, 0, 0, 5, 0,
0, 0, 1, 0, 12, 0,
8, 0, 3, 0, 180, 1,
0, 0, 109, 97, 116, 67,
111, 108, 0, 110, 111, 114,
109, 97, 108, 77, 97, 116,
0, 171, 171, 171, 3, 0,
3, 0, 3, 0, 3, 0,
1, 0, 0, 0, 0, 0,
0, 0, 110, 117, 109, 68,
105, 114, 76, 105, 103, 104,
116, 115, 0, 171, 171, 171,
0, 0, 2, 0, 1, 0,
1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 110, 117,
109, 80, 111, 105, 110, 116,
76, 105, 103, 104, 116, 115,
0, 110, 117, 109, 83, 112,
111, 116, 76, 105, 103, 104,
116, 115, 0, 115, 117, 114,
102, 80, 114, 111, 112, 115,
0, 116, 101, 120, 77, 97,
116, 0, 119, 111, 114, 108,
100, 77, 97, 116, 0, 118,
115, 95, 50, 95, 48, 0,
77, 105, 99, 114, 111, 115,
111, 102, 116, 32, 40, 82,
41, 32, 72, 76, 83, 76,
32, 83, 104, 97, 100, 101,
114, 32, 67, 111, 109, 112,
105, 108, 101, 114, 32, 57,
46, 50, 57, 46, 57, 53,
50, 46, 51, 49, 49, 49,
0, 171, 81, 0, 0, 5,
11, 0, 15, 160, 0, 0,
64, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 81, 0, 0, 5,
45, 0, 15, 160, 0, 0,
0, 0, 0, 0, 0, 128,
0, 0, 128, 191, 0, 0,
128, 63, 31, 0, 0, 2,
0, 0, 0, 128, 0, 0,
15, 144, 31, 0, 0, 2,
3, 0, 0, 128, 1, 0,
15, 144, 31, 0, 0, 2,
5, 0, 0, 128, 2, 0,
15, 144, 31, 0, 0, 2,
10, 0, 0, 128, 3, 0,
15, 144, 5, 0, 0, 3,
0, 0, 15, 128, 0, 0, 0, 0, 15, 128, 0, 0,
228, 160, 0, 0, 0, 144, 85, 144, 1, 0, 228, 160,
0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 15, 128,
2, 0, 228, 160, 0, 0,
170, 144, 0, 0, 228, 128,
4, 0, 0, 4, 0, 0, 4, 0, 0, 4, 0, 0,
15, 192, 3, 0, 228, 160, 15, 128, 0, 0, 228, 160,
0, 0, 255, 144, 0, 0,
228, 128, 5, 0, 0, 3,
0, 0, 7, 128, 0, 0,
85, 144, 5, 0, 228, 160,
4, 0, 0, 4, 0, 0,
7, 128, 4, 0, 228, 160,
0, 0, 0, 144, 0, 0, 0, 0, 0, 144, 0, 0,
228, 128, 4, 0, 0, 4, 228, 128, 4, 0, 0, 4,
0, 0, 7, 128, 6, 0, 0, 0, 15, 128, 2, 0,
228, 160, 0, 0, 170, 144, 228, 160, 0, 0, 170, 144,
0, 0, 228, 128, 4, 0, 0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 7, 128, 0, 4, 0, 0, 15, 128,
7, 0, 228, 160, 0, 0, 3, 0, 228, 160, 0, 0,
255, 144, 0, 0, 228, 128, 255, 144, 0, 0, 228, 128,
5, 0, 0, 3, 1, 0,
7, 128, 1, 0, 85, 144,
9, 0, 228, 160, 4, 0,
0, 4, 1, 0, 7, 128,
8, 0, 228, 160, 1, 0,
0, 144, 1, 0, 228, 128,
4, 0, 0, 4, 1, 0,
7, 128, 10, 0, 228, 160,
1, 0, 170, 144, 1, 0,
228, 128, 1, 0, 0, 2,
2, 0, 9, 128, 44, 0,
228, 160, 12, 0, 0, 3,
0, 0, 8, 128, 2, 0,
0, 128, 13, 0, 255, 160,
2, 0, 0, 3, 3, 0,
15, 128, 3, 0, 228, 144,
44, 0, 149, 160, 4, 0,
0, 4, 3, 0, 15, 128,
0, 0, 255, 128, 3, 0,
228, 128, 44, 0, 192, 160,
1, 0, 0, 2, 2, 0,
1, 128, 13, 0, 0, 160,
4, 0, 0, 4, 2, 0,
7, 128, 14, 0, 228, 160,
2, 0, 0, 128, 3, 0,
228, 128, 1, 0, 0, 2,
4, 0, 7, 128, 2, 0,
228, 128, 1, 0, 0, 2,
0, 0, 8, 128, 44, 0,
0, 160, 38, 0, 0, 1,
0, 0, 228, 240, 2, 0,
0, 3, 1, 0, 8, 128,
0, 0, 255, 128, 15, 0,
0, 160, 5, 0, 0, 3,
1, 0, 8, 128, 1, 0,
255, 128, 11, 0, 0, 160,
46, 0, 0, 2, 0, 0,
1, 176, 1, 0, 255, 128,
8, 0, 0, 4, 1, 0,
8, 128, 1, 0, 228, 128,
18, 32, 228, 161, 0, 0,
0, 176, 11, 0, 0, 3,
1, 0, 8, 128, 1, 0,
255, 128, 44, 0, 0, 160,
5, 0, 0, 4, 5, 0,
7, 128, 1, 0, 255, 128,
16, 32, 228, 160, 0, 0,
0, 176, 4, 0, 0, 4,
4, 0, 7, 128, 5, 0,
228, 128, 13, 0, 170, 160,
4, 0, 228, 128, 2, 0,
0, 3, 0, 0, 8, 128,
0, 0, 255, 128, 44, 0,
255, 160, 39, 0, 0, 0,
1, 0, 0, 2, 2, 0,
7, 128, 4, 0, 228, 128,
1, 0, 0, 2, 0, 0, 1, 0, 0, 2, 0, 0,
8, 128, 44, 0, 0, 160, 15, 192, 0, 0, 228, 128,
38, 0, 0, 1, 1, 0, 5, 0, 0, 3, 0, 0,
7, 128, 0, 0, 85, 144,
5, 0, 228, 160, 4, 0,
0, 4, 0, 0, 7, 128,
4, 0, 228, 160, 0, 0,
0, 144, 0, 0, 228, 128,
4, 0, 0, 4, 0, 0,
7, 128, 6, 0, 228, 160,
0, 0, 170, 144, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 7, 128, 7, 0,
228, 160, 0, 0, 255, 144,
0, 0, 228, 128, 5, 0,
0, 3, 1, 0, 7, 128,
1, 0, 85, 144, 9, 0,
228, 160, 4, 0, 0, 4,
1, 0, 7, 128, 8, 0,
228, 160, 1, 0, 0, 144,
1, 0, 228, 128, 4, 0,
0, 4, 1, 0, 7, 128,
10, 0, 228, 160, 1, 0,
170, 144, 1, 0, 228, 128,
1, 0, 0, 2, 2, 0,
9, 128, 45, 0, 228, 160,
12, 0, 0, 3, 1, 0,
8, 128, 2, 0, 0, 128,
13, 0, 255, 160, 2, 0,
0, 3, 3, 0, 15, 128,
3, 0, 228, 144, 45, 0,
149, 160, 4, 0, 0, 4,
3, 0, 15, 128, 1, 0,
255, 128, 3, 0, 228, 128,
45, 0, 192, 160, 1, 0,
0, 2, 2, 0, 1, 128,
13, 0, 0, 160, 4, 0,
0, 4, 2, 0, 7, 128,
15, 0, 228, 160, 2, 0,
0, 128, 3, 0, 228, 128,
1, 0, 0, 2, 4, 0,
7, 128, 2, 0, 228, 128,
1, 0, 0, 2, 1, 0,
8, 128, 45, 0, 0, 160,
38, 0, 0, 1, 0, 0,
228, 240, 2, 0, 0, 3, 228, 240, 2, 0, 0, 3,
1, 0, 8, 128, 0, 0, 4, 0, 8, 128, 1, 0,
255, 128, 15, 0, 85, 160, 255, 128, 16, 0, 0, 160,
5, 0, 0, 3, 1, 0, 5, 0, 0, 3, 4, 0,
8, 128, 1, 0, 255, 128, 8, 128, 4, 0, 255, 128,
11, 0, 0, 160, 46, 0, 11, 0, 0, 160, 46, 0,
0, 2, 0, 0, 1, 176, 0, 2, 0, 0, 1, 176,
1, 0, 255, 128, 2, 0, 4, 0, 255, 128, 8, 0,
0, 4, 5, 0, 7, 128, 0, 4, 4, 0, 8, 128,
0, 0, 228, 128, 17, 32, 1, 0, 228, 128, 19, 32,
228, 161, 0, 0, 0, 176, 228, 161, 0, 0, 0, 176,
8, 0, 0, 3, 1, 0,
8, 128, 5, 0, 228, 128,
5, 0, 228, 128, 7, 0,
0, 2, 1, 0, 8, 128,
1, 0, 255, 128, 5, 0,
0, 3, 5, 0, 7, 128,
1, 0, 255, 128, 5, 0,
228, 128, 8, 0, 0, 3,
4, 0, 8, 128, 1, 0,
228, 128, 5, 0, 228, 129,
11, 0, 0, 3, 4, 0, 11, 0, 0, 3, 4, 0,
8, 128, 4, 0, 255, 128, 8, 128, 4, 0, 255, 128,
44, 0, 0, 160, 5, 0, 45, 0, 0, 160, 5, 0,
0, 4, 5, 0, 7, 128, 0, 4, 5, 0, 7, 128,
4, 0, 255, 128, 16, 32, 4, 0, 255, 128, 17, 32,
228, 160, 0, 0, 0, 176, 228, 160, 0, 0, 0, 176,
6, 0, 0, 2, 1, 0,
8, 128, 1, 0, 255, 128,
6, 0, 0, 3, 4, 0,
8, 128, 16, 32, 255, 160,
0, 0, 0, 176, 4, 0,
0, 4, 1, 0, 8, 128,
1, 0, 255, 128, 4, 0,
255, 129, 44, 0, 255, 160,
11, 0, 0, 3, 1, 0,
8, 128, 1, 0, 255, 128,
44, 0, 0, 160, 5, 0,
0, 3, 5, 0, 7, 128,
1, 0, 255, 128, 5, 0,
228, 128, 4, 0, 0, 4,
2, 0, 7, 128, 5, 0,
228, 128, 13, 0, 170, 160,
2, 0, 228, 128, 2, 0,
0, 3, 0, 0, 8, 128,
0, 0, 255, 128, 44, 0,
255, 160, 39, 0, 0, 0,
1, 0, 0, 2, 3, 0,
7, 128, 2, 0, 228, 128,
1, 0, 0, 2, 0, 0,
8, 128, 44, 0, 0, 160,
38, 0, 0, 1, 2, 0,
228, 240, 2, 0, 0, 3,
1, 0, 8, 128, 0, 0,
255, 128, 15, 0, 170, 160,
5, 0, 0, 3, 1, 0,
8, 128, 1, 0, 255, 128,
11, 0, 0, 160, 46, 0,
0, 2, 0, 0, 1, 176,
1, 0, 255, 128, 2, 0,
0, 4, 4, 0, 7, 128,
0, 0, 228, 128, 17, 32,
228, 161, 0, 0, 0, 176,
8, 0, 0, 3, 1, 0,
8, 128, 4, 0, 228, 128,
4, 0, 228, 128, 7, 0,
0, 2, 1, 0, 8, 128,
1, 0, 255, 128, 5, 0,
0, 3, 4, 0, 7, 128,
1, 0, 255, 128, 4, 0,
228, 128, 8, 0, 0, 3,
4, 0, 8, 128, 1, 0,
228, 128, 4, 0, 228, 129,
8, 0, 0, 4, 4, 0,
1, 128, 4, 0, 228, 128,
18, 32, 228, 160, 0, 0,
0, 176, 11, 0, 0, 3,
4, 0, 2, 128, 4, 0,
255, 128, 44, 0, 0, 160,
2, 0, 0, 4, 4, 0,
1, 128, 4, 0, 0, 128,
17, 32, 255, 160, 0, 0,
0, 176, 2, 0, 0, 4,
4, 0, 4, 128, 2, 0,
255, 128, 17, 32, 255, 160,
0, 0, 0, 176, 6, 0,
0, 2, 4, 0, 4, 128,
4, 0, 170, 128, 5, 0,
0, 3, 4, 0, 1, 128,
4, 0, 170, 128, 4, 0,
0, 128, 12, 0, 0, 3,
4, 0, 4, 128, 4, 0,
0, 128, 44, 0, 0, 160,
4, 0, 0, 4, 4, 0, 4, 0, 0, 4, 4, 0,
2, 128, 4, 0, 170, 128, 7, 128, 5, 0, 228, 128,
4, 0, 85, 129, 4, 0, 13, 0, 170, 160, 4, 0,
85, 128, 11, 0, 0, 4,
4, 0, 1, 128, 4, 0,
0, 128, 18, 32, 255, 160,
0, 0, 0, 176, 5, 0,
0, 3, 4, 0, 1, 128,
4, 0, 0, 128, 4, 0,
85, 128, 5, 0, 0, 4,
4, 0, 7, 128, 4, 0,
0, 128, 16, 32, 228, 160,
0, 0, 0, 176, 6, 0,
0, 2, 1, 0, 8, 128,
1, 0, 255, 128, 6, 0,
0, 3, 4, 0, 8, 128,
16, 32, 255, 160, 0, 0,
0, 176, 4, 0, 0, 4,
1, 0, 8, 128, 1, 0,
255, 128, 4, 0, 255, 129,
44, 0, 255, 160, 11, 0,
0, 3, 1, 0, 8, 128,
1, 0, 255, 128, 44, 0,
0, 160, 5, 0, 0, 3,
4, 0, 7, 128, 1, 0,
255, 128, 4, 0, 228, 128,
4, 0, 0, 4, 3, 0,
7, 128, 4, 0, 228, 128,
13, 0, 170, 160, 3, 0,
228, 128, 2, 0, 0, 3, 228, 128, 2, 0, 0, 3,
0, 0, 8, 128, 0, 0, 1, 0, 8, 128, 1, 0,
255, 128, 44, 0, 255, 160, 255, 128, 45, 0, 255, 160,
39, 0, 0, 0, 11, 0, 39, 0, 0, 0, 1, 0,
0, 3, 0, 0, 15, 128, 0, 2, 2, 0, 7, 128,
3, 0, 228, 128, 44, 0, 4, 0, 228, 128, 1, 0,
0, 160, 10, 0, 0, 3, 0, 2, 1, 0, 8, 128,
0, 0, 15, 128, 0, 0, 45, 0, 0, 160, 38, 0,
228, 128, 44, 0, 255, 160, 0, 1, 1, 0, 228, 240,
5, 0, 0, 3, 0, 0, 2, 0, 0, 3, 4, 0,
15, 208, 0, 0, 228, 128, 8, 128, 1, 0, 255, 128,
12, 0, 228, 160, 5, 0, 16, 0, 85, 160, 5, 0,
0, 3, 0, 0, 3, 128, 0, 3, 4, 0, 8, 128,
1, 0, 85, 128, 41, 0, 4, 0, 255, 128, 11, 0,
228, 160, 4, 0, 0, 4, 0, 160, 46, 0, 0, 2,
0, 0, 3, 128, 40, 0, 0, 0, 1, 176, 4, 0,
228, 160, 1, 0, 0, 128, 255, 128, 2, 0, 0, 4,
0, 0, 228, 128, 4, 0, 5, 0, 7, 128, 0, 0,
0, 4, 0, 0, 3, 128, 228, 128, 18, 32, 228, 161,
42, 0, 228, 160, 1, 0, 0, 0, 0, 176, 8, 0,
170, 128, 0, 0, 228, 128, 0, 3, 4, 0, 8, 128,
5, 0, 228, 128, 5, 0,
228, 128, 7, 0, 0, 2,
4, 0, 8, 128, 4, 0,
255, 128, 5, 0, 0, 3,
5, 0, 7, 128, 4, 0,
255, 128, 5, 0, 228, 128,
8, 0, 0, 3, 5, 0,
1, 128, 1, 0, 228, 128,
5, 0, 228, 129, 11, 0,
0, 3, 5, 0, 1, 128,
5, 0, 0, 128, 45, 0,
0, 160, 5, 0, 0, 4,
5, 0, 7, 128, 5, 0,
0, 128, 17, 32, 228, 160,
0, 0, 0, 176, 6, 0,
0, 2, 4, 0, 8, 128,
4, 0, 255, 128, 6, 0,
0, 3, 5, 0, 8, 128,
17, 32, 255, 160, 0, 0,
0, 176, 4, 0, 0, 4,
4, 0, 8, 128, 4, 0,
255, 128, 5, 0, 255, 129,
45, 0, 255, 160, 11, 0,
0, 3, 4, 0, 8, 128,
4, 0, 255, 128, 45, 0,
0, 160, 5, 0, 0, 3,
5, 0, 7, 128, 4, 0,
255, 128, 5, 0, 228, 128,
4, 0, 0, 4, 2, 0,
7, 128, 5, 0, 228, 128,
13, 0, 170, 160, 2, 0,
228, 128, 2, 0, 0, 3,
1, 0, 8, 128, 1, 0,
255, 128, 45, 0, 255, 160,
39, 0, 0, 0, 1, 0,
0, 2, 3, 0, 7, 128,
2, 0, 228, 128, 1, 0,
0, 2, 1, 0, 8, 128,
45, 0, 0, 160, 38, 0,
0, 1, 2, 0, 228, 240,
2, 0, 0, 3, 4, 0,
1, 128, 1, 0, 255, 128,
16, 0, 170, 160, 5, 0,
0, 3, 4, 0, 1, 128,
4, 0, 0, 128, 11, 0,
0, 160, 46, 0, 0, 2,
0, 0, 1, 176, 4, 0,
0, 128, 2, 0, 0, 4,
4, 0, 7, 128, 0, 0,
228, 128, 18, 32, 228, 161,
0, 0, 0, 176, 8, 0,
0, 3, 4, 0, 8, 128,
4, 0, 228, 128, 4, 0,
228, 128, 7, 0, 0, 2,
4, 0, 8, 128, 4, 0,
255, 128, 5, 0, 0, 3,
4, 0, 7, 128, 4, 0,
255, 128, 4, 0, 228, 128,
8, 0, 0, 3, 5, 0,
1, 128, 1, 0, 228, 128,
4, 0, 228, 129, 8, 0,
0, 4, 4, 0, 1, 128,
4, 0, 228, 128, 19, 32,
228, 160, 0, 0, 0, 176,
11, 0, 0, 3, 4, 0,
2, 128, 5, 0, 0, 128,
45, 0, 0, 160, 2, 0,
0, 4, 4, 0, 1, 128,
4, 0, 0, 128, 18, 32,
255, 160, 0, 0, 0, 176,
2, 0, 0, 4, 4, 0,
4, 128, 2, 0, 255, 128,
18, 32, 255, 160, 0, 0,
0, 176, 6, 0, 0, 2,
4, 0, 4, 128, 4, 0,
170, 128, 5, 0, 0, 3,
4, 0, 1, 128, 4, 0,
170, 128, 4, 0, 0, 128,
12, 0, 0, 3, 4, 0,
4, 128, 4, 0, 0, 128,
45, 0, 0, 160, 4, 0,
0, 4, 4, 0, 2, 128,
4, 0, 170, 128, 4, 0,
85, 129, 4, 0, 85, 128,
11, 0, 0, 4, 4, 0,
1, 128, 4, 0, 0, 128,
19, 32, 255, 160, 0, 0,
0, 176, 5, 0, 0, 3,
4, 0, 1, 128, 4, 0,
0, 128, 4, 0, 85, 128,
5, 0, 0, 4, 4, 0,
7, 128, 4, 0, 0, 128,
17, 32, 228, 160, 0, 0,
0, 176, 6, 0, 0, 2,
4, 0, 8, 128, 4, 0,
255, 128, 6, 0, 0, 3,
5, 0, 1, 128, 17, 32,
255, 160, 0, 0, 0, 176,
4, 0, 0, 4, 4, 0,
8, 128, 4, 0, 255, 128,
5, 0, 0, 129, 45, 0,
255, 160, 11, 0, 0, 3,
4, 0, 8, 128, 4, 0,
255, 128, 45, 0, 0, 160,
5, 0, 0, 3, 4, 0,
7, 128, 4, 0, 255, 128,
4, 0, 228, 128, 4, 0,
0, 4, 3, 0, 7, 128,
4, 0, 228, 128, 13, 0,
170, 160, 3, 0, 228, 128,
2, 0, 0, 3, 1, 0, 2, 0, 0, 3, 1, 0,
3, 224, 0, 0, 228, 128, 8, 128, 1, 0, 255, 128,
43, 0, 228, 160, 1, 0, 45, 0, 255, 160, 39, 0,
0, 2, 0, 0, 3, 224, 0, 0, 11, 0, 0, 3,
2, 0, 228, 144, 255, 255, 2, 0, 15, 128, 3, 0,
0, 0 228, 128, 45, 0, 0, 160,
10, 0, 0, 3, 2, 0,
15, 128, 2, 0, 228, 128,
45, 0, 255, 160, 5, 0,
0, 3, 0, 0, 15, 208,
2, 0, 228, 128, 12, 0,
228, 160, 5, 0, 0, 3,
0, 0, 3, 128, 1, 0,
85, 128, 42, 0, 228, 160,
4, 0, 0, 4, 0, 0,
3, 128, 41, 0, 228, 160,
1, 0, 0, 128, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 3, 128, 43, 0,
228, 160, 1, 0, 170, 128,
0, 0, 228, 128, 2, 0,
0, 3, 1, 0, 3, 224,
0, 0, 228, 128, 44, 0,
228, 160, 2, 0, 0, 3,
0, 0, 1, 128, 0, 0,
255, 128, 14, 0, 85, 161,
5, 0, 0, 3, 0, 0,
1, 128, 0, 0, 0, 128,
14, 0, 170, 160, 11, 0,
0, 3, 0, 0, 1, 128,
0, 0, 0, 128, 14, 0,
255, 160, 10, 0, 0, 3,
0, 0, 4, 224, 0, 0,
0, 128, 45, 0, 255, 160,
1, 0, 0, 2, 0, 0,
3, 224, 2, 0, 228, 144,
255, 255, 0, 0
}; };

View File

@ -9,6 +9,7 @@
// //
// float4 ambientLight; // float4 ambientLight;
// float4x4 combinedMat; // float4x4 combinedMat;
// float4 fogData;
// float4 matCol; // float4 matCol;
// float3x3 normalMat; // float3x3 normalMat;
// float4 surfProps; // float4 surfProps;
@ -23,8 +24,9 @@
// normalMat c8 3 // normalMat c8 3
// matCol c12 1 // matCol c12 1
// surfProps c13 1 // surfProps c13 1
// ambientLight c14 1 // fogData c14 1
// texMat c40 4 // ambientLight c15 1
// texMat c41 4
// //
vs_2_0 vs_2_0
@ -33,113 +35,110 @@
dcl_normal v1 dcl_normal v1
dcl_texcoord v2 dcl_texcoord v2
dcl_color v3 dcl_color v3
mul r0, v0.y, c1
mad r0, c0, v0.x, r0
mad r0, c2, v0.z, r0
mad oPos, c3, v0.w, r0
mul r0.xyz, v1.y, c9 mul r0.xyz, v1.y, c9
mad r0.xyz, c8, v1.x, r0 mad r0.xyz, c8, v1.x, r0
mad r0.xyz, c10, v1.z, r0 mad r0.xyz, c10, v1.z, r0
mul r0.yw, r0.y, c41.xxzy mul r0.yw, r0.y, c42.xxzy
mad r0.xy, c40, r0.x, r0.ywzw mad r0.xy, c41, r0.x, r0.ywzw
mad r0.xy, c42, r0.z, r0 mad r0.xy, c43, r0.z, r0
add oT1.xy, r0, c43 add oT1.xy, r0, c44
mov r0.x, c4.x mov r0.x, c4.x
slt r0.x, r0.x, c13.w slt r0.x, r0.x, c13.w
add r1, v3, c4.yyyz add r1, v3, c4.yyyz
mad r0, r0.x, r1, c4.xxxw mad r0, r0.x, r1, c4.xxxw
mov r1.x, c13.x mov r1.x, c13.x
mad r0.xyz, c14, r1.x, r0 mad r0.xyz, c15, r1.x, r0
max r0, r0, c4.x max r0, r0, c4.x
min r0, r0, c4.w min r0, r0, c4.w
mul oD0, r0, c12 mul oD0, r0, c12
mul r0, v0.y, c1
mad r0, c0, v0.x, r0
mad r0, c2, v0.z, r0
mad r0, c3, v0.w, r0
add r1.x, r0.w, -c14.y
mov oPos, r0
mul r0.x, r1.x, c14.z
max r0.x, r0.x, c14.w
min oT0.z, r0.x, c4.w
mov oT0.xy, v2 mov oT0.xy, v2
// approximately 21 instruction slots used // approximately 26 instruction slots used
#endif #endif
const BYTE g_vs20_main[] = const BYTE g_vs20_main[] =
{ {
0, 2, 254, 255, 254, 255, 0, 2, 254, 255, 254, 255,
81, 0, 67, 84, 65, 66, 88, 0, 67, 84, 65, 66,
28, 0, 0, 0, 12, 1, 28, 0, 0, 0, 40, 1,
0, 0, 0, 2, 254, 255, 0, 0, 0, 2, 254, 255,
6, 0, 0, 0, 28, 0, 7, 0, 0, 0, 28, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
5, 1, 0, 0, 148, 0, 33, 1, 0, 0, 168, 0,
0, 0, 2, 0, 14, 0, 0, 0, 2, 0, 15, 0,
1, 0, 58, 0, 164, 0, 1, 0, 62, 0, 184, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
180, 0, 0, 0, 2, 0, 200, 0, 0, 0, 2, 0,
0, 0, 4, 0, 2, 0, 0, 0, 4, 0, 2, 0,
192, 0, 0, 0, 0, 0, 212, 0, 0, 0, 0, 0,
0, 0, 208, 0, 0, 0, 0, 0, 228, 0, 0, 0,
2, 0, 12, 0, 1, 0, 2, 0, 14, 0, 1, 0,
50, 0, 164, 0, 0, 0, 58, 0, 184, 0, 0, 0,
0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 236, 0,
0, 0, 2, 0, 8, 0, 0, 0, 2, 0, 12, 0,
3, 0, 34, 0, 228, 0, 1, 0, 50, 0, 184, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
244, 0, 0, 0, 2, 0, 243, 0, 0, 0, 2, 0,
13, 0, 1, 0, 54, 0, 8, 0, 3, 0, 34, 0,
164, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 254, 0, 0, 0, 0, 0, 16, 1, 0, 0,
2, 0, 40, 0, 4, 0, 2, 0, 13, 0, 1, 0,
162, 0, 192, 0, 0, 0, 54, 0, 184, 0, 0, 0,
0, 0, 0, 0, 97, 109, 0, 0, 0, 0, 26, 1,
98, 105, 101, 110, 116, 76, 0, 0, 2, 0, 41, 0,
105, 103, 104, 116, 0, 171, 4, 0, 166, 0, 212, 0,
171, 171, 1, 0, 3, 0,
1, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
99, 111, 109, 98, 105, 110, 97, 109, 98, 105, 101, 110,
101, 100, 77, 97, 116, 0, 116, 76, 105, 103, 104, 116,
3, 0, 3, 0, 4, 0, 0, 171, 171, 171, 1, 0,
4, 0, 1, 0, 0, 0, 3, 0, 1, 0, 4, 0,
0, 0, 0, 0, 109, 97, 1, 0, 0, 0, 0, 0,
116, 67, 111, 108, 0, 110, 0, 0, 99, 111, 109, 98,
111, 114, 109, 97, 108, 77, 105, 110, 101, 100, 77, 97,
97, 116, 0, 171, 171, 171, 116, 0, 3, 0, 3, 0,
4, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0,
102, 111, 103, 68, 97, 116,
97, 0, 109, 97, 116, 67,
111, 108, 0, 110, 111, 114,
109, 97, 108, 77, 97, 116,
0, 171, 171, 171, 3, 0,
3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0,
3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 115, 117, 0, 0, 115, 117, 114, 102,
114, 102, 80, 114, 111, 112, 80, 114, 111, 112, 115, 0,
115, 0, 116, 101, 120, 77, 116, 101, 120, 77, 97, 116,
97, 116, 0, 118, 115, 95, 0, 118, 115, 95, 50, 95,
50, 95, 48, 0, 77, 105, 48, 0, 77, 105, 99, 114,
99, 114, 111, 115, 111, 102, 111, 115, 111, 102, 116, 32,
116, 32, 40, 82, 41, 32, 40, 82, 41, 32, 72, 76,
72, 76, 83, 76, 32, 83, 83, 76, 32, 83, 104, 97,
104, 97, 100, 101, 114, 32, 100, 101, 114, 32, 67, 111,
67, 111, 109, 112, 105, 108, 109, 112, 105, 108, 101, 114,
101, 114, 32, 57, 46, 50, 32, 57, 46, 50, 57, 46,
57, 46, 57, 53, 50, 46, 57, 53, 50, 46, 51, 49,
51, 49, 49, 49, 0, 171, 49, 49, 0, 171, 171, 171,
171, 171, 81, 0, 0, 5, 81, 0, 0, 5, 4, 0,
4, 0, 15, 160, 0, 0, 15, 160, 0, 0, 0, 0,
0, 0, 0, 0, 0, 128,
0, 0, 128, 191, 0, 0,
128, 63, 31, 0, 0, 2,
0, 0, 0, 128, 0, 0, 0, 0, 0, 128, 0, 0,
15, 144, 31, 0, 0, 2, 128, 191, 0, 0, 128, 63,
3, 0, 0, 128, 1, 0, 31, 0, 0, 2, 0, 0,
15, 144, 31, 0, 0, 2, 0, 128, 0, 0, 15, 144,
5, 0, 0, 128, 2, 0, 31, 0, 0, 2, 3, 0,
15, 144, 31, 0, 0, 2, 0, 128, 1, 0, 15, 144,
10, 0, 0, 128, 3, 0, 31, 0, 0, 2, 5, 0,
15, 144, 5, 0, 0, 3, 0, 128, 2, 0, 15, 144,
0, 0, 15, 128, 0, 0, 31, 0, 0, 2, 10, 0,
85, 144, 1, 0, 228, 160, 0, 128, 3, 0, 15, 144,
4, 0, 0, 4, 0, 0,
15, 128, 0, 0, 228, 160,
0, 0, 0, 144, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 15, 128, 2, 0,
228, 160, 0, 0, 170, 144,
0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 15, 192,
3, 0, 228, 160, 0, 0,
255, 144, 0, 0, 228, 128,
5, 0, 0, 3, 0, 0, 5, 0, 0, 3, 0, 0,
7, 128, 1, 0, 85, 144, 7, 128, 1, 0, 85, 144,
9, 0, 228, 160, 4, 0, 9, 0, 228, 160, 4, 0,
@ -151,16 +150,16 @@ const BYTE g_vs20_main[] =
1, 0, 170, 144, 0, 0, 1, 0, 170, 144, 0, 0,
228, 128, 5, 0, 0, 3, 228, 128, 5, 0, 0, 3,
0, 0, 10, 128, 0, 0, 0, 0, 10, 128, 0, 0,
85, 128, 41, 0, 96, 160, 85, 128, 42, 0, 96, 160,
4, 0, 0, 4, 0, 0, 4, 0, 0, 4, 0, 0,
3, 128, 40, 0, 228, 160, 3, 128, 41, 0, 228, 160,
0, 0, 0, 128, 0, 0, 0, 0, 0, 128, 0, 0,
237, 128, 4, 0, 0, 4, 237, 128, 4, 0, 0, 4,
0, 0, 3, 128, 42, 0, 0, 0, 3, 128, 43, 0,
228, 160, 0, 0, 170, 128, 228, 160, 0, 0, 170, 128,
0, 0, 228, 128, 2, 0, 0, 0, 228, 128, 2, 0,
0, 3, 1, 0, 3, 224, 0, 3, 1, 0, 3, 224,
0, 0, 228, 128, 43, 0, 0, 0, 228, 128, 44, 0,
228, 160, 1, 0, 0, 2, 228, 160, 1, 0, 0, 2,
0, 0, 1, 128, 4, 0, 0, 0, 1, 128, 4, 0,
0, 160, 12, 0, 0, 3, 0, 160, 12, 0, 0, 3,
@ -175,7 +174,7 @@ const BYTE g_vs20_main[] =
1, 0, 0, 2, 1, 0, 1, 0, 0, 2, 1, 0,
1, 128, 13, 0, 0, 160, 1, 128, 13, 0, 0, 160,
4, 0, 0, 4, 0, 0, 4, 0, 0, 4, 0, 0,
7, 128, 14, 0, 228, 160, 7, 128, 15, 0, 228, 160,
1, 0, 0, 128, 0, 0, 1, 0, 0, 128, 0, 0,
228, 128, 11, 0, 0, 3, 228, 128, 11, 0, 0, 3,
0, 0, 15, 128, 0, 0, 0, 0, 15, 128, 0, 0,
@ -185,7 +184,33 @@ const BYTE g_vs20_main[] =
4, 0, 255, 160, 5, 0, 4, 0, 255, 160, 5, 0,
0, 3, 0, 0, 15, 208, 0, 3, 0, 0, 15, 208,
0, 0, 228, 128, 12, 0, 0, 0, 228, 128, 12, 0,
228, 160, 1, 0, 0, 2, 228, 160, 5, 0, 0, 3,
0, 0, 3, 224, 2, 0, 0, 0, 15, 128, 0, 0,
228, 144, 255, 255, 0, 0 85, 144, 1, 0, 228, 160,
4, 0, 0, 4, 0, 0,
15, 128, 0, 0, 228, 160,
0, 0, 0, 144, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 15, 128, 2, 0,
228, 160, 0, 0, 170, 144,
0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 15, 128,
3, 0, 228, 160, 0, 0,
255, 144, 0, 0, 228, 128,
2, 0, 0, 3, 1, 0,
1, 128, 0, 0, 255, 128,
14, 0, 85, 161, 1, 0,
0, 2, 0, 0, 15, 192,
0, 0, 228, 128, 5, 0,
0, 3, 0, 0, 1, 128,
1, 0, 0, 128, 14, 0,
170, 160, 11, 0, 0, 3,
0, 0, 1, 128, 0, 0,
0, 128, 14, 0, 255, 160,
10, 0, 0, 3, 0, 0,
4, 224, 0, 0, 0, 128,
4, 0, 255, 160, 1, 0,
0, 2, 0, 0, 3, 224,
2, 0, 228, 144, 255, 255,
0, 0
}; };

View File

@ -10,6 +10,7 @@
// float4 ambientLight; // float4 ambientLight;
// float4x4 combinedMat; // float4x4 combinedMat;
// int4 firstLight; // int4 firstLight;
// float4 fogData;
// //
// struct // struct
// { // {
@ -35,10 +36,11 @@
// normalMat c8 3 // normalMat c8 3
// matCol c12 1 // matCol c12 1
// surfProps c13 1 // surfProps c13 1
// ambientLight c14 1 // fogData c14 1
// firstLight c15 1 // ambientLight c15 1
// lights c16 24 // firstLight c16 1
// texMat c40 4 // lights c17 24
// texMat c41 4
// //
vs_2_0 vs_2_0
@ -51,236 +53,259 @@
mul r0, v0.y, c1 mul r0, v0.y, c1
mad r0, c0, v0.x, r0 mad r0, c0, v0.x, r0
mad r0, c2, v0.z, r0 mad r0, c2, v0.z, r0
mad oPos, c3, v0.w, r0 mad r0, c3, v0.w, r0
mov oPos, r0
mul r0.xyz, v1.y, c9 mul r0.xyz, v1.y, c9
mad r0.xyz, c8, v1.x, r0 mad r0.xyz, c8, v1.x, r0
mad r0.xyz, c10, v1.z, r0 mad r0.xyz, c10, v1.z, r0
mov r1.x, c5.x mov r1.x, c5.x
slt r0.w, r1.x, c13.w slt r1.x, r1.x, c13.w
add r1, v3, c5.yyyz add r2, v3, c5.yyyz
mad r1, r0.w, r1, c5.xxxw mad r1, r1.x, r2, c5.xxxw
mov r2.x, c13.x mov r2.x, c13.x
mad r2.xyz, c14, r2.x, r1 mad r2.xyz, c15, r2.x, r1
mov r1.xyz, r2 mov r1.xyz, r2
mov r0.w, c5.x mov r2.w, c5.x
rep i0 rep i0
add r2.w, r0.w, c15.x add r3.x, r2.w, c16.x
mul r2.w, r2.w, c4.x mul r3.x, r3.x, c4.x
mova a0.x, r2.w mova a0.x, r3.x
dp3 r2.w, r0, -c18[a0.x] dp3 r3.x, r0, -c19[a0.x]
max r2.w, r2.w, c5.x max r3.x, r3.x, c5.x
mul r3.xyz, r2.w, c16[a0.x] mul r3.xyz, r3.x, c17[a0.x]
mad r1.xyz, r3, c13.z, r1 mad r1.xyz, r3, c13.z, r1
add r0.w, r0.w, c5.w add r2.w, r2.w, c5.w
endrep endrep
max r1, r1, c5.x max r1, r1, c5.x
min r1, r1, c5.w min r1, r1, c5.w
mul oD0, r1, c12 mul oD0, r1, c12
mul r0.yw, r0.y, c41.xxzy mul r1.xy, r0.y, c42
mad r0.xy, c40, r0.x, r0.ywzw mad r0.xy, c41, r0.x, r1
mad r0.xy, c42, r0.z, r0 mad r0.xy, c43, r0.z, r0
add oT1.xy, r0, c43 add oT1.xy, r0, c44
add r0.x, r0.w, -c14.y
mul r0.x, r0.x, c14.z
max r0.x, r0.x, c14.w
min oT0.z, r0.x, c5.w
mov oT0.xy, v2 mov oT0.xy, v2
// approximately 36 instruction slots used // approximately 41 instruction slots used
#endif #endif
const BYTE g_vs20_main[] = const BYTE g_vs20_main[] =
{ {
0, 2, 254, 255, 254, 255, 0, 2, 254, 255, 254, 255,
134, 0, 67, 84, 65, 66, 141, 0, 67, 84, 65, 66,
28, 0, 0, 0, 224, 1, 28, 0, 0, 0, 252, 1,
0, 0, 0, 2, 254, 255, 0, 0, 0, 2, 254, 255,
9, 0, 0, 0, 28, 0, 10, 0, 0, 0, 28, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
217, 1, 0, 0, 208, 0, 245, 1, 0, 0, 228, 0,
0, 0, 2, 0, 14, 0, 0, 0, 2, 0, 15, 0,
1, 0, 58, 0, 224, 0, 1, 0, 62, 0, 244, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
240, 0, 0, 0, 2, 0, 4, 1, 0, 0, 2, 0,
0, 0, 4, 0, 2, 0, 0, 0, 4, 0, 2, 0,
252, 0, 0, 0, 0, 0, 16, 1, 0, 0, 0, 0,
0, 0, 12, 1, 0, 0, 0, 0, 32, 1, 0, 0,
2, 0, 15, 0, 1, 0, 2, 0, 16, 0, 1, 0,
62, 0, 24, 1, 0, 0, 66, 0, 44, 1, 0, 0,
0, 0, 0, 0, 40, 1, 0, 0, 0, 0, 60, 1,
0, 0, 2, 0, 16, 0, 0, 0, 2, 0, 14, 0,
24, 0, 66, 0, 116, 1, 1, 0, 58, 0, 244, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
132, 1, 0, 0, 2, 0, 68, 1, 0, 0, 2, 0,
12, 0, 1, 0, 50, 0, 17, 0, 24, 0, 70, 0,
224, 0, 0, 0, 0, 0, 144, 1, 0, 0, 0, 0,
0, 0, 139, 1, 0, 0, 0, 0, 160, 1, 0, 0,
2, 0, 8, 0, 3, 0, 2, 0, 12, 0, 1, 0,
34, 0, 152, 1, 0, 0, 50, 0, 244, 0, 0, 0,
0, 0, 0, 0, 168, 1, 0, 0, 0, 0, 167, 1,
0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 8, 0,
1, 0, 2, 0, 184, 1, 3, 0, 34, 0, 180, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
200, 1, 0, 0, 2, 0, 196, 1, 0, 0, 1, 0,
13, 0, 1, 0, 54, 0, 0, 0, 1, 0, 2, 0,
224, 0, 0, 0, 0, 0, 212, 1, 0, 0, 0, 0,
0, 0, 210, 1, 0, 0, 0, 0, 228, 1, 0, 0,
2, 0, 40, 0, 4, 0, 2, 0, 13, 0, 1, 0,
162, 0, 252, 0, 0, 0, 54, 0, 244, 0, 0, 0,
0, 0, 0, 0, 97, 109, 0, 0, 0, 0, 238, 1,
98, 105, 101, 110, 116, 76, 0, 0, 2, 0, 41, 0,
105, 103, 104, 116, 0, 171, 4, 0, 166, 0, 16, 1,
171, 171, 1, 0, 3, 0,
1, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
99, 111, 109, 98, 105, 110, 97, 109, 98, 105, 101, 110,
101, 100, 77, 97, 116, 0, 116, 76, 105, 103, 104, 116,
3, 0, 3, 0, 4, 0, 0, 171, 171, 171, 1, 0,
4, 0, 1, 0, 0, 0, 3, 0, 1, 0, 4, 0,
0, 0, 0, 0, 102, 105,
114, 115, 116, 76, 105, 103,
104, 116, 0, 171, 1, 0,
2, 0, 1, 0, 4, 0,
1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 108, 105, 103, 104, 0, 0, 99, 111, 109, 98,
116, 115, 0, 99, 111, 108, 105, 110, 101, 100, 77, 97,
111, 114, 0, 171, 171, 171, 116, 0, 3, 0, 3, 0,
1, 0, 3, 0, 1, 0, 4, 0, 4, 0, 1, 0,
0, 0, 0, 0, 0, 0,
102, 105, 114, 115, 116, 76,
105, 103, 104, 116, 0, 171,
1, 0, 2, 0, 1, 0,
4, 0, 1, 0, 0, 0, 4, 0, 1, 0, 0, 0,
0, 0, 0, 0, 112, 111, 0, 0, 0, 0, 102, 111,
115, 105, 116, 105, 111, 110, 103, 68, 97, 116, 97, 0,
0, 100, 105, 114, 101, 99, 108, 105, 103, 104, 116, 115,
116, 105, 111, 110, 0, 171, 0, 99, 111, 108, 111, 114,
47, 1, 0, 0, 56, 1, 0, 171, 171, 171, 1, 0,
0, 0, 72, 1, 0, 0, 3, 0, 1, 0, 4, 0,
56, 1, 0, 0, 81, 1, 1, 0, 0, 0, 0, 0,
0, 0, 56, 1, 0, 0, 0, 0, 112, 111, 115, 105,
5, 0, 0, 0, 1, 0, 116, 105, 111, 110, 0, 100,
12, 0, 8, 0, 3, 0, 105, 114, 101, 99, 116, 105,
92, 1, 0, 0, 109, 97, 111, 110, 0, 171, 75, 1,
116, 67, 111, 108, 0, 110, 0, 0, 84, 1, 0, 0,
111, 114, 109, 97, 108, 77, 100, 1, 0, 0, 84, 1,
97, 116, 0, 171, 171, 171, 0, 0, 109, 1, 0, 0,
84, 1, 0, 0, 5, 0,
0, 0, 1, 0, 12, 0,
8, 0, 3, 0, 120, 1,
0, 0, 109, 97, 116, 67,
111, 108, 0, 110, 111, 114,
109, 97, 108, 77, 97, 116,
0, 171, 171, 171, 3, 0,
3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0,
3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 110, 117, 0, 0, 110, 117, 109, 68,
109, 68, 105, 114, 76, 105, 105, 114, 76, 105, 103, 104,
103, 104, 116, 115, 0, 171, 116, 115, 0, 171, 171, 171,
171, 171, 0, 0, 2, 0, 0, 0, 2, 0, 1, 0,
1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 115, 117,
114, 102, 80, 114, 111, 112,
115, 0, 116, 101, 120, 77,
97, 116, 0, 118, 115, 95,
50, 95, 48, 0, 77, 105,
99, 114, 111, 115, 111, 102,
116, 32, 40, 82, 41, 32,
72, 76, 83, 76, 32, 83,
104, 97, 100, 101, 114, 32,
67, 111, 109, 112, 105, 108,
101, 114, 32, 57, 46, 50,
57, 46, 57, 53, 50, 46,
51, 49, 49, 49, 0, 171,
171, 171, 81, 0, 0, 5,
4, 0, 15, 160, 0, 0,
64, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
115, 117, 114, 102, 80, 114, 0, 0, 81, 0, 0, 5,
111, 112, 115, 0, 116, 101, 5, 0, 15, 160, 0, 0,
120, 77, 97, 116, 0, 118, 0, 0, 0, 0, 0, 128,
115, 95, 50, 95, 48, 0, 0, 0, 128, 191, 0, 0,
77, 105, 99, 114, 111, 115, 128, 63, 31, 0, 0, 2,
111, 102, 116, 32, 40, 82, 0, 0, 0, 128, 0, 0,
41, 32, 72, 76, 83, 76, 15, 144, 31, 0, 0, 2,
32, 83, 104, 97, 100, 101, 3, 0, 0, 128, 1, 0,
114, 32, 67, 111, 109, 112, 15, 144, 31, 0, 0, 2,
105, 108, 101, 114, 32, 57, 5, 0, 0, 128, 2, 0,
46, 50, 57, 46, 57, 53, 15, 144, 31, 0, 0, 2,
50, 46, 51, 49, 49, 49, 10, 0, 0, 128, 3, 0,
0, 171, 171, 171, 81, 0, 15, 144, 5, 0, 0, 3,
0, 5, 4, 0, 15, 160,
0, 0, 64, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 81, 0,
0, 5, 5, 0, 15, 160,
0, 0, 0, 0, 0, 0,
0, 128, 0, 0, 128, 191,
0, 0, 128, 63, 31, 0,
0, 2, 0, 0, 0, 128,
0, 0, 15, 144, 31, 0,
0, 2, 3, 0, 0, 128,
1, 0, 15, 144, 31, 0,
0, 2, 5, 0, 0, 128,
2, 0, 15, 144, 31, 0,
0, 2, 10, 0, 0, 128,
3, 0, 15, 144, 5, 0,
0, 3, 0, 0, 15, 128,
0, 0, 85, 144, 1, 0,
228, 160, 4, 0, 0, 4,
0, 0, 15, 128, 0, 0, 0, 0, 15, 128, 0, 0,
228, 160, 0, 0, 0, 144, 85, 144, 1, 0, 228, 160,
4, 0, 0, 4, 0, 0,
15, 128, 0, 0, 228, 160,
0, 0, 0, 144, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 15, 128, 2, 0,
228, 160, 0, 0, 170, 144,
0, 0, 228, 128, 4, 0, 0, 0, 228, 128, 4, 0,
0, 4, 0, 0, 15, 128, 0, 4, 0, 0, 15, 128,
2, 0, 228, 160, 0, 0, 3, 0, 228, 160, 0, 0,
170, 144, 0, 0, 228, 128, 255, 144, 0, 0, 228, 128,
1, 0, 0, 2, 0, 0,
15, 192, 0, 0, 228, 128,
5, 0, 0, 3, 0, 0,
7, 128, 1, 0, 85, 144,
9, 0, 228, 160, 4, 0,
0, 4, 0, 0, 7, 128,
8, 0, 228, 160, 1, 0,
0, 144, 0, 0, 228, 128,
4, 0, 0, 4, 0, 0, 4, 0, 0, 4, 0, 0,
15, 192, 3, 0, 228, 160, 7, 128, 10, 0, 228, 160,
0, 0, 255, 144, 0, 0, 1, 0, 170, 144, 0, 0,
228, 128, 5, 0, 0, 3, 228, 128, 1, 0, 0, 2,
0, 0, 7, 128, 1, 0, 1, 0, 1, 128, 5, 0,
85, 144, 9, 0, 228, 160, 0, 160, 12, 0, 0, 3,
4, 0, 0, 4, 0, 0, 1, 0, 1, 128, 1, 0,
7, 128, 8, 0, 228, 160, 0, 128, 13, 0, 255, 160,
1, 0, 0, 144, 0, 0,
228, 128, 4, 0, 0, 4,
0, 0, 7, 128, 10, 0,
228, 160, 1, 0, 170, 144,
0, 0, 228, 128, 1, 0,
0, 2, 1, 0, 1, 128,
5, 0, 0, 160, 12, 0,
0, 3, 0, 0, 8, 128,
1, 0, 0, 128, 13, 0,
255, 160, 2, 0, 0, 3,
1, 0, 15, 128, 3, 0,
228, 144, 5, 0, 149, 160,
4, 0, 0, 4, 1, 0,
15, 128, 0, 0, 255, 128,
1, 0, 228, 128, 5, 0,
192, 160, 1, 0, 0, 2,
2, 0, 1, 128, 13, 0,
0, 160, 4, 0, 0, 4,
2, 0, 7, 128, 14, 0,
228, 160, 2, 0, 0, 128,
1, 0, 228, 128, 1, 0,
0, 2, 1, 0, 7, 128,
2, 0, 228, 128, 1, 0,
0, 2, 0, 0, 8, 128,
5, 0, 0, 160, 38, 0,
0, 1, 0, 0, 228, 240,
2, 0, 0, 3, 2, 0, 2, 0, 0, 3, 2, 0,
8, 128, 0, 0, 255, 128, 15, 128, 3, 0, 228, 144,
15, 0, 0, 160, 5, 0, 5, 0, 149, 160, 4, 0,
0, 3, 2, 0, 8, 128, 0, 4, 1, 0, 15, 128,
2, 0, 255, 128, 4, 0, 1, 0, 0, 128, 2, 0,
0, 160, 46, 0, 0, 2, 228, 128, 5, 0, 192, 160,
0, 0, 1, 176, 2, 0, 1, 0, 0, 2, 2, 0,
255, 128, 8, 0, 0, 4, 1, 128, 13, 0, 0, 160,
2, 0, 8, 128, 0, 0, 4, 0, 0, 4, 2, 0,
228, 128, 18, 32, 228, 161, 7, 128, 15, 0, 228, 160,
0, 0, 0, 176, 11, 0, 2, 0, 0, 128, 1, 0,
228, 128, 1, 0, 0, 2,
1, 0, 7, 128, 2, 0,
228, 128, 1, 0, 0, 2,
2, 0, 8, 128, 5, 0,
0, 160, 38, 0, 0, 1,
0, 0, 228, 240, 2, 0,
0, 3, 3, 0, 1, 128,
2, 0, 255, 128, 16, 0,
0, 160, 5, 0, 0, 3,
3, 0, 1, 128, 3, 0,
0, 128, 4, 0, 0, 160,
46, 0, 0, 2, 0, 0,
1, 176, 3, 0, 0, 128,
8, 0, 0, 4, 3, 0,
1, 128, 0, 0, 228, 128,
19, 32, 228, 161, 0, 0,
0, 176, 11, 0, 0, 3,
3, 0, 1, 128, 3, 0,
0, 128, 5, 0, 0, 160,
5, 0, 0, 4, 3, 0,
7, 128, 3, 0, 0, 128,
17, 32, 228, 160, 0, 0,
0, 176, 4, 0, 0, 4,
1, 0, 7, 128, 3, 0,
228, 128, 13, 0, 170, 160,
1, 0, 228, 128, 2, 0,
0, 3, 2, 0, 8, 128, 0, 3, 2, 0, 8, 128,
2, 0, 255, 128, 5, 0, 2, 0, 255, 128, 5, 0,
0, 160, 5, 0, 0, 4, 255, 160, 39, 0, 0, 0,
3, 0, 7, 128, 2, 0, 11, 0, 0, 3, 1, 0,
255, 128, 16, 32, 228, 160,
0, 0, 0, 176, 4, 0,
0, 4, 1, 0, 7, 128,
3, 0, 228, 128, 13, 0,
170, 160, 1, 0, 228, 128,
2, 0, 0, 3, 0, 0,
8, 128, 0, 0, 255, 128,
5, 0, 255, 160, 39, 0,
0, 0, 11, 0, 0, 3,
1, 0, 15, 128, 1, 0,
228, 128, 5, 0, 0, 160,
10, 0, 0, 3, 1, 0,
15, 128, 1, 0, 228, 128, 15, 128, 1, 0, 228, 128,
5, 0, 255, 160, 5, 0, 5, 0, 0, 160, 10, 0,
0, 3, 0, 0, 15, 208, 0, 3, 1, 0, 15, 128,
1, 0, 228, 128, 12, 0, 1, 0, 228, 128, 5, 0,
228, 160, 5, 0, 0, 3, 255, 160, 5, 0, 0, 3,
0, 0, 10, 128, 0, 0, 0, 0, 15, 208, 1, 0,
85, 128, 41, 0, 96, 160, 228, 128, 12, 0, 228, 160,
5, 0, 0, 3, 1, 0,
3, 128, 0, 0, 85, 128,
42, 0, 228, 160, 4, 0,
0, 4, 0, 0, 3, 128,
41, 0, 228, 160, 0, 0,
0, 128, 1, 0, 228, 128,
4, 0, 0, 4, 0, 0, 4, 0, 0, 4, 0, 0,
3, 128, 40, 0, 228, 160, 3, 128, 43, 0, 228, 160,
0, 0, 0, 128, 0, 0, 0, 0, 170, 128, 0, 0,
237, 128, 4, 0, 0, 4, 228, 128, 2, 0, 0, 3,
0, 0, 3, 128, 42, 0, 1, 0, 3, 224, 0, 0,
228, 160, 0, 0, 170, 128, 228, 128, 44, 0, 228, 160,
0, 0, 228, 128, 2, 0, 2, 0, 0, 3, 0, 0,
0, 3, 1, 0, 3, 224, 1, 128, 0, 0, 255, 128,
0, 0, 228, 128, 43, 0, 14, 0, 85, 161, 5, 0,
228, 160, 1, 0, 0, 2, 0, 3, 0, 0, 1, 128,
0, 0, 3, 224, 2, 0, 0, 0, 0, 128, 14, 0,
228, 144, 255, 255, 0, 0 170, 160, 11, 0, 0, 3,
0, 0, 1, 128, 0, 0,
0, 128, 14, 0, 255, 160,
10, 0, 0, 3, 0, 0,
4, 224, 0, 0, 0, 128,
5, 0, 255, 160, 1, 0,
0, 2, 0, 0, 3, 224,
2, 0, 228, 144, 255, 255,
0, 0
}; };

View File

@ -10,6 +10,7 @@
// float4 colorClamp; // float4 colorClamp;
// sampler2D diffTex; // sampler2D diffTex;
// sampler2D envTex; // sampler2D envTex;
// float4 fogColor;
// float shininess; // float shininess;
// //
// //
@ -17,109 +18,123 @@
// //
// Name Reg Size // Name Reg Size
// ------------ ----- ---- // ------------ ----- ----
// shininess c0 1 // fogColor c0 1
// colorClamp c1 1 // shininess c1 1
// colorClamp c2 1
// diffTex s0 1 // diffTex s0 1
// envTex s1 1 // envTex s1 1
// //
ps_2_0 ps_2_0
dcl t0.xy dcl t0.xyz
dcl t1.xy dcl t1.xy
dcl v0 dcl v0
dcl_2d s0 dcl_2d s0
dcl_2d s1 dcl_2d s1
texld r0, t1, s1 texld r0, t0, s0
texld r1, t0, s0 texld r1, t1, s1
mul r1, r1, v0 mad r2.xyz, v0, r0, -c0
max r2.xyz, r1, c1 mul r0, r0, v0
mul r2.xyz, r2, c0.x mad r2.xyz, t0.z, r2, c0
mul r0.xyz, r0, r2 max r3.xyz, r0, c2
mad r1.xyz, r1, r1.w, r0 mul r3.xyz, r3, c1.x
mov oC0, r1 mul r1.xyz, r1, r3
mad r0.xyz, r2, r0.w, r1
mov oC0, r0
// approximately 8 instruction slots used (2 texture, 6 arithmetic) // approximately 10 instruction slots used (2 texture, 8 arithmetic)
#endif #endif
const BYTE g_ps20_main[] = const BYTE g_ps20_main[] =
{ {
0, 2, 255, 255, 254, 255, 0, 2, 255, 255, 254, 255,
68, 0, 67, 84, 65, 66, 75, 0, 67, 84, 65, 66,
28, 0, 0, 0, 219, 0, 28, 0, 0, 0, 247, 0,
0, 0, 0, 2, 255, 255, 0, 0, 0, 2, 255, 255,
4, 0, 0, 0, 28, 0, 5, 0, 0, 0, 28, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
212, 0, 0, 0, 108, 0, 240, 0, 0, 0, 128, 0,
0, 0, 2, 0, 1, 0, 0, 0, 2, 0, 2, 0,
1, 0, 6, 0, 120, 0, 1, 0, 10, 0, 140, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
136, 0, 0, 0, 3, 0, 156, 0, 0, 0, 3, 0,
0, 0, 1, 0, 2, 0, 0, 0, 1, 0, 2, 0,
144, 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, 0,
0, 0, 160, 0, 0, 0, 0, 0, 180, 0, 0, 0,
3, 0, 1, 0, 1, 0, 3, 0, 1, 0, 1, 0,
6, 0, 168, 0, 0, 0, 6, 0, 188, 0, 0, 0,
0, 0, 0, 0, 184, 0, 0, 0, 0, 0, 204, 0,
0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0,
1, 0, 2, 0, 196, 0, 1, 0, 2, 0, 140, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
99, 111, 108, 111, 114, 67, 213, 0, 0, 0, 2, 0,
108, 97, 109, 112, 0, 171, 1, 0, 1, 0, 6, 0,
1, 0, 3, 0, 1, 0, 224, 0, 0, 0, 0, 0,
4, 0, 1, 0, 0, 0, 0, 0, 99, 111, 108, 111,
0, 0, 0, 0, 100, 105, 114, 67, 108, 97, 109, 112,
102, 102, 84, 101, 120, 0, 0, 171, 1, 0, 3, 0,
4, 0, 12, 0, 1, 0, 1, 0, 4, 0, 1, 0,
1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 101, 110, 100, 105, 102, 102, 84, 101,
118, 84, 101, 120, 0, 171, 120, 0, 4, 0, 12, 0,
4, 0, 12, 0, 1, 0, 1, 0, 1, 0, 1, 0,
1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 115, 104, 101, 110, 118, 84, 101, 120,
105, 110, 105, 110, 101, 115, 0, 171, 4, 0, 12, 0,
115, 0, 171, 171, 0, 0, 1, 0, 1, 0, 1, 0,
3, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 102, 111, 103, 67, 111, 108,
0, 0, 112, 115, 95, 50, 111, 114, 0, 115, 104, 105,
95, 48, 0, 77, 105, 99, 110, 105, 110, 101, 115, 115,
114, 111, 115, 111, 102, 116, 0, 171, 0, 0, 3, 0,
32, 40, 82, 41, 32, 72, 1, 0, 1, 0, 1, 0,
76, 83, 76, 32, 83, 104, 0, 0, 0, 0, 0, 0,
97, 100, 101, 114, 32, 67, 112, 115, 95, 50, 95, 48,
111, 109, 112, 105, 108, 101, 0, 77, 105, 99, 114, 111,
114, 32, 57, 46, 50, 57, 115, 111, 102, 116, 32, 40,
46, 57, 53, 50, 46, 51, 82, 41, 32, 72, 76, 83,
49, 49, 49, 0, 31, 0, 76, 32, 83, 104, 97, 100,
0, 2, 0, 0, 0, 128, 101, 114, 32, 67, 111, 109,
0, 0, 3, 176, 31, 0, 112, 105, 108, 101, 114, 32,
0, 2, 0, 0, 0, 128, 57, 46, 50, 57, 46, 57,
1, 0, 3, 176, 31, 0, 53, 50, 46, 51, 49, 49,
0, 2, 0, 0, 0, 128, 49, 0, 31, 0, 0, 2,
0, 0, 15, 144, 31, 0, 0, 0, 0, 128, 0, 0,
0, 2, 0, 0, 0, 144, 7, 176, 31, 0, 0, 2,
0, 8, 15, 160, 31, 0, 0, 0, 0, 128, 1, 0,
0, 2, 0, 0, 0, 144, 3, 176, 31, 0, 0, 2,
1, 8, 15, 160, 66, 0, 0, 0, 0, 128, 0, 0,
0, 3, 0, 0, 15, 128, 15, 144, 31, 0, 0, 2,
1, 0, 228, 176, 1, 8, 0, 0, 0, 144, 0, 8,
228, 160, 66, 0, 0, 3, 15, 160, 31, 0, 0, 2,
1, 0, 15, 128, 0, 0, 0, 0, 0, 144, 1, 8,
15, 160, 66, 0, 0, 3,
0, 0, 15, 128, 0, 0,
228, 176, 0, 8, 228, 160, 228, 176, 0, 8, 228, 160,
5, 0, 0, 3, 1, 0, 66, 0, 0, 3, 1, 0,
15, 128, 1, 0, 228, 128, 15, 128, 1, 0, 228, 176,
0, 0, 228, 144, 11, 0, 1, 8, 228, 160, 4, 0,
0, 3, 2, 0, 7, 128, 0, 4, 2, 0, 7, 128,
1, 0, 228, 128, 1, 0, 0, 0, 228, 144, 0, 0,
228, 160, 5, 0, 0, 3, 228, 128, 0, 0, 228, 161,
2, 0, 7, 128, 2, 0,
228, 128, 0, 0, 0, 160,
5, 0, 0, 3, 0, 0, 5, 0, 0, 3, 0, 0,
15, 128, 0, 0, 228, 128,
0, 0, 228, 144, 4, 0,
0, 4, 2, 0, 7, 128,
0, 0, 170, 176, 2, 0,
228, 128, 0, 0, 228, 160,
11, 0, 0, 3, 3, 0,
7, 128, 0, 0, 228, 128, 7, 128, 0, 0, 228, 128,
2, 0, 228, 128, 4, 0, 2, 0, 228, 160, 5, 0,
0, 4, 1, 0, 7, 128, 0, 3, 3, 0, 7, 128,
1, 0, 228, 128, 1, 0, 3, 0, 228, 128, 1, 0,
255, 128, 0, 0, 228, 128, 0, 160, 5, 0, 0, 3,
1, 0, 0, 2, 0, 8, 1, 0, 7, 128, 1, 0,
15, 128, 1, 0, 228, 128, 228, 128, 3, 0, 228, 128,
255, 255, 0, 0 4, 0, 0, 4, 0, 0,
7, 128, 2, 0, 228, 128,
0, 0, 255, 128, 1, 0,
228, 128, 1, 0, 0, 2,
0, 8, 15, 128, 0, 0,
228, 128, 255, 255, 0, 0
}; };