|
23 | 23 |
|
24 | 24 | class dxRender_Visual; |
25 | 25 |
|
26 | | -class CGlow : public IRender_Glow |
27 | | -{ |
28 | | -public: |
29 | | - bool bActive; |
30 | | -public: |
31 | | - CGlow() : bActive(false) { } |
32 | | - virtual void set_active(bool b) { bActive = b; } |
33 | | - virtual bool get_active() { return bActive; } |
34 | | - virtual void set_position(const Fvector& P) { } |
35 | | - virtual void set_direction(const Fvector& D) { } |
36 | | - virtual void set_radius(float R) { } |
37 | | - virtual void set_texture(LPCSTR name) { } |
38 | | - virtual void set_color(const Fcolor& C) { } |
39 | | - virtual void set_color(float r, float g, float b) { } |
40 | | -}; |
41 | | - |
42 | | -class CRender : public R_dsgraph_structure |
| 26 | +class CRender : public D3DXRenderBase |
43 | 27 | { |
44 | 28 | public: |
45 | 29 | enum |
46 | 30 | { |
47 | | - PHASE_NORMAL = 0, // E[0] |
48 | | - PHASE_SMAP = 1, // E[1] |
| 31 | + PHASE_NORMAL = 0, // E[0] |
| 32 | + PHASE_SMAP = 1, // E[1] |
49 | 33 | }; |
50 | 34 |
|
| 35 | +public: |
51 | 36 | struct _options { |
52 | | - u32 bug : 1; |
53 | | - |
54 | | - u32 ssao_blur_on : 1; |
55 | | - u32 ssao_opt_data : 1; |
56 | | - u32 ssao_half_data : 1; |
57 | | - u32 ssao_hbao : 1; |
58 | | - u32 ssao_hdao : 1; |
59 | | - |
60 | | - u32 smapsize : 16; |
61 | | - u32 depth16 : 1; |
62 | | - u32 mrt : 1; |
63 | | - u32 mrtmixdepth : 1; |
64 | | - u32 fp16_filter : 1; |
65 | | - u32 fp16_blend : 1; |
66 | | - u32 albedo_wo : 1; // work-around albedo on less capable HW |
67 | | - u32 HW_smap : 1; |
68 | | - u32 HW_smap_PCF : 1; |
69 | | - u32 HW_smap_FETCH4 : 1; |
70 | | - |
71 | | - u32 HW_smap_FORMAT : 32; |
72 | | - |
73 | | - u32 nvstencil : 1; |
74 | | - u32 nvdbt : 1; |
75 | | - |
76 | | - u32 nullrt : 1; |
77 | | - |
78 | | - u32 distortion : 1; |
79 | | - u32 distortion_enabled : 1; |
80 | | - u32 mblur : 1; |
81 | | - |
82 | | - u32 sunfilter : 1; |
83 | | - u32 sunstatic : 1; |
84 | | - u32 sjitter : 1; |
85 | | - u32 noshadows : 1; |
86 | | - u32 Tshadows : 1; // transluent shadows |
87 | | - u32 disasm : 1; |
88 | | - u32 advancedpp : 1; // advanced post process (DOF, SSAO, volumetrics, etc.) |
89 | | - |
90 | | - u32 forcegloss : 1; |
91 | | - u32 forceskinw : 1; |
92 | | - float forcegloss_v; |
| 37 | + u32 bug : 1; |
| 38 | + |
| 39 | + u32 ssao_blur_on : 1; |
| 40 | + u32 ssao_opt_data : 1; |
| 41 | + u32 ssao_half_data : 1; |
| 42 | + u32 ssao_hbao : 1; |
| 43 | + u32 ssao_hdao : 1; |
| 44 | + u32 hbao_vectorized : 1; |
| 45 | + |
| 46 | + u32 smapsize : 16; |
| 47 | + u32 depth16 : 1; |
| 48 | + u32 mrt : 1; |
| 49 | + u32 mrtmixdepth : 1; |
| 50 | + u32 fp16_filter : 1; |
| 51 | + u32 fp16_blend : 1; |
| 52 | + u32 albedo_wo : 1; // work-around albedo on less capable HW |
| 53 | + u32 HW_smap : 1; |
| 54 | + u32 HW_smap_PCF : 1; |
| 55 | + u32 HW_smap_FETCH4 : 1; |
| 56 | + |
| 57 | + u32 HW_smap_FORMAT : 32; |
| 58 | + |
| 59 | + u32 nvstencil : 1; |
| 60 | + u32 nvdbt : 1; |
| 61 | + |
| 62 | + u32 nullrt : 1; |
| 63 | + |
| 64 | + u32 distortion : 1; |
| 65 | + u32 distortion_enabled : 1; |
| 66 | + u32 mblur : 1; |
| 67 | + |
| 68 | + u32 sunfilter : 1; |
| 69 | + u32 sunstatic : 1; |
| 70 | + u32 sjitter : 1; |
| 71 | + u32 noshadows : 1; |
| 72 | + u32 Tshadows : 1; // transluent shadows |
| 73 | + u32 disasm : 1; |
| 74 | + u32 advancedpp : 1; // advanced post process (DOF, SSAO, volumetrics, etc.) |
| 75 | + u32 volumetricfog : 1; |
| 76 | + |
| 77 | + u32 forcegloss : 1; |
| 78 | + u32 forceskinw : 1; |
| 79 | + float forcegloss_v ; |
93 | 80 | } o; |
94 | 81 | struct _stats { |
95 | 82 | u32 l_total, l_visible; |
@@ -143,11 +130,6 @@ class CRender : public R_dsgraph_structure |
143 | 130 | GLsync q_sync_point[CHWCaps::MAX_GPUS]; |
144 | 131 | u32 q_sync_count; |
145 | 132 |
|
146 | | - // HW Support |
147 | | - GLuint pBaseZB; |
148 | | - CHWCaps Caps; |
149 | | - glRenderDeviceRender* pDevice; |
150 | | - |
151 | 133 | private: |
152 | 134 | // Loading / Unloading |
153 | 135 | void LoadBuffers(CStreamReader *fs, BOOL _alternative); |
@@ -236,10 +218,10 @@ class CRender : public R_dsgraph_structure |
236 | 218 |
|
237 | 219 | public: |
238 | 220 | // feature level |
239 | | - virtual GenerationLevel get_generation() { return IRender_interface::GENERATION_R2; }; |
| 221 | + virtual GenerationLevel get_generation() { return IRender::GENERATION_R2; }; |
240 | 222 |
|
241 | 223 | virtual bool is_sun_static() { return o.sunstatic; }; |
242 | | - virtual DWORD get_dx_level() { return 0x00000000; }; |
| 224 | + virtual DWORD get_dx_level() { return 0x00090000; }; |
243 | 225 |
|
244 | 226 | // Loading / Unloading |
245 | 227 | virtual void create(); |
|
0 commit comments