SpeedTreeLib: port 40250 wrapper/forest verbatim over a CSpeedTreeRT stand-in
Delete the platform proxy tree renderer and copy SpeedTreeWrapper, SpeedTreeForest, SpeedTreeForestDirectX8, SpeedTreeConfig.h and VertexShaders.h from 40250. The SDK SpeedTreeRT.h public API becomes the shim; the closed CSpeedTreeRT is reimplemented in platform/SpeedTreeLib/SpeedTreeRT.cpp (procedural geometry, static lighting, single LOD, DIVERGENT). Shims gain the D3D8 vertex shader declaration tokens, D3D_OK, CreateVertexShader/DeleteVertexShader, ID3DXBuffer/D3DXAssembleShader, MessageBox and __min/__max. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
86e602cb32
commit
d817bd7cab
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"reference": "SpeedTreeLib/SpeedTreeForestDirectX8.cpp",
|
||||
"reference_sha256": "7dd29079a158ed8af665e45ee1ed7b319732c5d33b5c8a8edcc458b5337c005a",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CSpeedTreeForestDirectX8::CSpeedTreeForestDirectX8": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/SpeedTreeLib/SpeedTreeForestDirectX8.cpp:CSpeedTreeForestDirectX8::CSpeedTreeForestDirectX8"
|
||||
]
|
||||
},
|
||||
"CSpeedTreeForestDirectX8::~CSpeedTreeForestDirectX8": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/SpeedTreeLib/SpeedTreeForestDirectX8.cpp:CSpeedTreeForestDirectX8::~CSpeedTreeForestDirectX8"
|
||||
]
|
||||
},
|
||||
"CSpeedTreeForestDirectX8::InitVertexShaders": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/SpeedTreeLib/SpeedTreeForestDirectX8.cpp:CSpeedTreeForestDirectX8::InitVertexShaders"
|
||||
],
|
||||
"note": "verbatim; WRAPPER_USE_NO_WIND / no GPU placement in SpeedTreeConfig.h, so the shader path returns the FVF as in 40250"
|
||||
},
|
||||
"CSpeedTreeForestDirectX8::SetRenderingDevice": {
|
||||
"status": "NEEDS_LIVE",
|
||||
"impl": [
|
||||
"extension/src/port/SpeedTreeLib/SpeedTreeForestDirectX8.cpp:CSpeedTreeForestDirectX8::SetRenderingDevice"
|
||||
],
|
||||
"note": "verbatim; light 0 attributes reach the CSpeedTreeRT stand-in's static lighting; tone NEEDS_LIVE"
|
||||
},
|
||||
"CSpeedTreeForestDirectX8::UploadWindMatrix": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/SpeedTreeLib/SpeedTreeForestDirectX8.cpp:CSpeedTreeForestDirectX8::UploadWindMatrix"
|
||||
],
|
||||
"note": "verbatim; WRAPPER_USE_NO_WIND / no GPU placement in SpeedTreeConfig.h, so the shader path returns the FVF as in 40250"
|
||||
},
|
||||
"CSpeedTreeForestDirectX8::UpdateCompundMatrix": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/SpeedTreeLib/SpeedTreeForestDirectX8.cpp:CSpeedTreeForestDirectX8::UpdateCompundMatrix"
|
||||
]
|
||||
},
|
||||
"CSpeedTreeForestDirectX8::Render": {
|
||||
"status": "NEEDS_LIVE",
|
||||
"impl": [
|
||||
"extension/src/port/SpeedTreeLib/SpeedTreeForestDirectX8.cpp:CSpeedTreeForestDirectX8::Render"
|
||||
],
|
||||
"note": "verbatim; render states as 40250 (branch CULL_CW, leaf/billboard passes); visual NEEDS_LIVE"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user