Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
shd8bumpdiff_constants.h
Go to the documentation of this file.
1/*
2** Command & Conquer Generals Zero Hour(tm)
3** Copyright 2025 Electronic Arts Inc.
4**
5** This program is free software: you can redistribute it and/or modify
6** it under the terms of the GNU General Public License as published by
7** the Free Software Foundation, either version 3 of the License, or
8** (at your option) any later version.
9**
10** This program is distributed in the hope that it will be useful,
11** but WITHOUT ANY WARRANTY; without even the implied warranty of
12** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13** GNU General Public License for more details.
14**
15** You should have received a copy of the GNU General Public License
16** along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19// DX8 bump diffuse shader constants
20// Kenny Mitchell - Westwood Studios EA 2002
21
22#ifndef SHD8BUMPDIFF_CONSTANTS_H
23#define SHD8BUMPDIFF_CONSTANTS_H
24
25// vertex shader macros
26
27
28#define CV_WORLD_VIEW_PROJECTION 1
29
30#define CV_WORLD_VIEW_PROJECTION_0 1
31#define CV_WORLD_VIEW_PROJECTION_1 2
32#define CV_WORLD_VIEW_PROJECTION_2 3
33#define CV_WORLD_VIEW_PROJECTION_3 4
34
35
36#define CV_WORLD 12
37
38#define CV_WORLD_0 12
39#define CV_WORLD_1 13
40#define CV_WORLD_2 14
41#define CV_WORLD_3 15
42
43// 16-26 lighting constants
44
45#define CV_BUMPINESS 27
46
47#define CV_EYE_WORLD 28
48
49#define CV_TEXMAP 30
50
51#define CV_TEXMAP_0 30
52#define CV_TEXMAP_1 31
53#define CV_TEXMAP_2 32
54#define CV_TEXMAP_3 33
55
56// inputs
57#define V_POSITION v0
58#define V_NORMAL v1
59#define V_DIFFUSE v2
60#define V_TEXTURE v3
61#define V_S v4
62#define V_T v5
63#define V_SxT v6
64
65
66// registers
67#define HALF_ANGLE r0
68
69#define S_WORLD r1
70
71#define T_WORLD r2
72#define SxT_WORLD r3
73#define LIGHT_LOCAL r4
74#define LIGHT_0 r5
75#define LIGHT_1 r6
76#define LIGHT_2 r7
77#define LIGHT_3 r8
78#define COL r9
79#define WORLD_NORMAL r10
80
81#define EYE_VECTOR r11
82#define WORLD_VERTEX r11
83
84
85// pixel shader constants
86
87#define OUTPUT_REG r0
88
89// texture stages
90#define TEX_NORMALMAP t0
91#define TEX_DECAL t1
92
93#define COL_LIGHT v0
94#define COL_DIFFUSE v1
95
96
97
98#endif