103 DWORD vertex_shader_declaration[]=
106 (D3DVSD_REG(0, D3DVSDT_FLOAT3)),
107 (D3DVSD_REG(1, D3DVSDT_FLOAT3)),
108 (D3DVSD_REG(2, D3DVSDT_D3DCOLOR)),
109 (D3DVSD_REG(3, D3DVSDT_FLOAT2)),
110 (D3DVSD_REG(4, D3DVSDT_FLOAT3)),
111 (D3DVSD_REG(5, D3DVSDT_FLOAT3)),
112 (D3DVSD_REG(6, D3DVSDT_FLOAT3)),
123 vertex_shader_declaration
133 vertex_shader_declaration
253 unsigned vertex_count
258 for (
unsigned i=0; i<vertex_count; ++i)
297 verts[i].
u1=vss.
UV[0][i].
U;
298 verts[i].
v1=vss.
UV[0][i].
V;
308 verts[i].
Sx=vss.
S[i].
X;
309 verts[i].
Sy=vss.
S[i].
Y;
310 verts[i].
Sz=vss.
S[i].
Z;
321 verts[i].
Tx=vss.
T[i].
X;
322 verts[i].
Ty=vss.
T[i].
Y;
323 verts[i].
Tz=vss.
T[i].
Z;
381 float off_x=0.5f+(0.5f/(float)smap->
Get_Width());
382 float off_y=0.5f+(0.5f/(float)smap->
Get_Height());
385 float range=(float)(0xFFFFFFFF>>(32-bits));
389 Vector4(0.5f, 0.0f, 0.0f, 0.0f),
390 Vector4(0.0f, -0.5f, 0.0f, 0.0f),
391 Vector4(0.0f, 0.0f, range, 0.0f),
392 Vector4(off_x, off_y, bias, 1.0f)
void Get_View_Matrix(Matrix3D *set_tm)
static void Set_Vertex_Shader_Constant(int reg, const void *data, int count)
static void Set_Texture(unsigned stage, TextureBaseClass *texture)
static void Set_Vertex_Shader(DWORD vertex_shader)
static void Set_Pixel_Shader(DWORD pixel_shader)
static ZTextureClass * Get_Shadow_Map(int idx)
static void Get_Transform(D3DTRANSFORMSTATETYPE transform, Matrix4x4 &m)
WWINLINE float Get_X_Translation(void) const
WWINLINE float Get_Z_Translation(void) const
WWINLINE float Get_Y_Translation(void) const
WWINLINE void Init(const Matrix3D &m)
WWINLINE friend Matrix4x4 Multiply(const Matrix4x4 &a, const Matrix4x4 &b)
const Matrix4x4 & Get_Texture_Transform(void) const
MatrixMapperClass * Peek_Mapper() const
const Matrix3D & Get_Transform(void) const
virtual bool Pass_Selection(ShdMeshClass *, RenderInfoClass *, int)
static ShdHWPixelShader Pixel_Shader
static ShdHWVertexShader Self_Shadow_Vertex_Shader
static Matrix4x4 View_Projection_Matrix
virtual unsigned Get_Vertex_Stream_Count() const
virtual unsigned Get_Vertex_Size(unsigned stream) const
Shd8BumpSpecClass(const ShdDefClass *def)
void Setup_Self_Shadow_Info(ShdMeshClass &mesh, RenderInfoClass &rinfo)
static ShdHWVertexShader Vertex_Shader
virtual void Apply_Shared(int cur_pass, RenderInfoClass &rinfo)
static ShdHWPixelShader Self_Shadow_Pixel_Shader
virtual void Apply_Instance(int cur_pass, RenderInfoClass &rinfo)
virtual ~Shd8BumpSpecClass()
Matrix4x4 Self_Shadow_Transform
virtual void Copy_Vertex_Stream(unsigned stream, void *dest_buffer, const VertexStreamStruct &vss, unsigned vertex_count)
static void Light(RenderInfoClass &rinfo, Vector4 &ambient, Vector4 &diffuse, Vector4 &specular)
Apply generic lighting.
ShdInterfaceClass(const ShdDefClass *def, int class_id)
Constructor.
const ShdDefClass * Definition
TexProjectClass * Peek_Texture_Projector() const
bool Is_Applying_Shadow_Map() const
virtual TextureClass * Get_Texture(const char *filename, MipCountType mip_level_count=MIP_LEVELS_ALL, WW3DFormat texture_format=WW3D_FORMAT_UNKNOWN, bool allow_compression=true, TextureBaseClass::TexAssetType type=TextureBaseClass::TEX_REGULAR, bool allow_reduction=true)
static WW3DAssetManager * Get_Instance(void)
WW3DZFormat Get_Texture_Format() const
#define REF_PTR_RELEASE(x)
#define CV_WORLD_VIEW_PROJECTION
DWORD shd8bumpspec_psh_code[]
DWORD shd8bumpspec_vsh_code[]
DWORD shd8ssbumpspec_psh_code[]
DWORD shd8ssbumpspec_vsh_code[]
@ SHDDEF_CLASSID_BUMPSPEC
const Vector2 * UV[MAX_TEXTURE_STAGES]
const unsigned * DiffuseInt
const Vector3 * Locations