- Texture coordinates: TEXCOORDINDEX generation (camera-space normal / position / reflection vector, LOCALVIEWER) and D3DTS_TEXTUREn under TEXTURETRANSFORMFLAGS (incl. PROJECTED) now run in native.vert; the RecordingDevice CPU uv baking and the sphere-map / multiplicative-shadow shader hacks are removed. Godot consumer uses Render3DStageTexcoords. - Lighting: 8 D3D lights in camera space, 1/(a0+a1d+a2d^2) without clamp, spot cone theta/2 phi/2 with falloff, diffuse/ambient/emissive material sources, NORMALIZENORMALS, inverse-transpose normal matrix. - Alpha test compares 8-bit alpha against ALPHAREF with ALPHAFUNC. - Back-buffer Clear() is recorded in draw order and executed with vkCmdClearAttachments; render pass clears to 0xff000000. - D3DVIEWPORT8 (incl. MinZ/MaxZ) is dynamic per-draw state. - Missing vertex diffuse is opaque white; alpha blend mirrors SRC/DESTBLEND. - CScreen::ms_clearDepth / ms_diffuseColor initialised to 40250's 1.0f / 0xffffffff (were zero; exposed once clears were executed). - Capture format v8; --screenshot-out FILE.bmp swapchain readback. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
226 lines
7.2 KiB
JSON
226 lines
7.2 KiB
JSON
{
|
|
"reference": "EterGrnLib/Material.cpp",
|
|
"reference_sha256": "8c4069bff6f4f05ca68296fa108d0acea989d64e2d621d7d646d378487b30d5f",
|
|
"priority": "P4",
|
|
"contracts": [],
|
|
"functions": {
|
|
"CGrannyMaterial::TranslateSpecularMatrix": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::TranslateSpecularMatrix"
|
|
]
|
|
},
|
|
"CGrannyMaterial::ApplyRenderState": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::ApplyRenderState"
|
|
],
|
|
"note": "Native renderer no longer special-cases the sphere map: stage 1 CAMERASPACEREFLECTIONVECTOR, D3DTS_TEXTURE1 (ms_matSpecular) and MODULATEALPHA_ADDCOLOR run through the generic D3D8 texcoord/stage emulation. Visual parity NEEDS_LIVE."
|
|
},
|
|
"CGrannyMaterial::RestoreRenderState": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::RestoreRenderState"
|
|
]
|
|
},
|
|
"CGrannyMaterial::Copy": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::Copy"
|
|
]
|
|
},
|
|
"CGrannyMaterial::CGrannyMaterial": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::CGrannyMaterial"
|
|
]
|
|
},
|
|
"CGrannyMaterial::~CGrannyMaterial": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::~CGrannyMaterial"
|
|
]
|
|
},
|
|
"CGrannyMaterial::GetType": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::GetType"
|
|
]
|
|
},
|
|
"CGrannyMaterial::SetImagePointer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::SetImagePointer"
|
|
]
|
|
},
|
|
"CGrannyMaterial::IsIn": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::IsIn"
|
|
]
|
|
},
|
|
"CGrannyMaterial::SetSpecularInfo": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::SetSpecularInfo"
|
|
]
|
|
},
|
|
"CGrannyMaterial::IsEqual": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::IsEqual"
|
|
]
|
|
},
|
|
"CGrannyMaterial::GetD3DTexture": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::GetD3DTexture"
|
|
]
|
|
},
|
|
"CGrannyMaterial::GetImagePointer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::GetImagePointer"
|
|
]
|
|
},
|
|
"CGrannyMaterial::GetDiffuseTexture": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::GetDiffuseTexture"
|
|
]
|
|
},
|
|
"CGrannyMaterial::GetOpacityTexture": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::GetOpacityTexture"
|
|
]
|
|
},
|
|
"CGrannyMaterial::__IsSpecularEnable": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::__IsSpecularEnable"
|
|
]
|
|
},
|
|
"CGrannyMaterial::__GetSpecularPower": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::__GetSpecularPower"
|
|
]
|
|
},
|
|
"CGrannyMaterial::__GetImagePointer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::__GetImagePointer"
|
|
]
|
|
},
|
|
"CGrannyMaterial::CreateFromGrannyMaterialPointer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::CreateFromGrannyMaterialPointer"
|
|
]
|
|
},
|
|
"CGrannyMaterial::Initialize": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::Initialize"
|
|
]
|
|
},
|
|
"CGrannyMaterial::__ApplyDiffuseRenderState": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::__ApplyDiffuseRenderState"
|
|
]
|
|
},
|
|
"CGrannyMaterial::__RestoreDiffuseRenderState": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::__RestoreDiffuseRenderState"
|
|
]
|
|
},
|
|
"CGrannyMaterial::__ApplySpecularRenderState": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::__ApplySpecularRenderState"
|
|
]
|
|
},
|
|
"CGrannyMaterial::__RestoreSpecularRenderState": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::__RestoreSpecularRenderState"
|
|
]
|
|
},
|
|
"CGrannyMaterial::CreateSphereMap": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::CreateSphereMap"
|
|
]
|
|
},
|
|
"CGrannyMaterial::DestroySphereMap": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterial::DestroySphereMap"
|
|
]
|
|
},
|
|
"CGrannyMaterialPalette::CGrannyMaterialPalette": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterialPalette::CGrannyMaterialPalette"
|
|
]
|
|
},
|
|
"CGrannyMaterialPalette::~CGrannyMaterialPalette": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterialPalette::~CGrannyMaterialPalette"
|
|
]
|
|
},
|
|
"CGrannyMaterialPalette::Copy": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterialPalette::Copy"
|
|
]
|
|
},
|
|
"CGrannyMaterialPalette::Clear": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterialPalette::Clear"
|
|
]
|
|
},
|
|
"CGrannyMaterialPalette::GetMaterialRef": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterialPalette::GetMaterialRef"
|
|
]
|
|
},
|
|
"CGrannyMaterialPalette::SetMaterialImagePointer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterialPalette::SetMaterialImagePointer"
|
|
]
|
|
},
|
|
"CGrannyMaterialPalette::SetMaterialData": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterialPalette::SetMaterialData"
|
|
]
|
|
},
|
|
"CGrannyMaterialPalette::SetSpecularInfo": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterialPalette::SetSpecularInfo"
|
|
]
|
|
},
|
|
"CGrannyMaterialPalette::RegisterMaterial": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterialPalette::RegisterMaterial"
|
|
]
|
|
},
|
|
"CGrannyMaterialPalette::GetMaterialCount": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/Material.cpp:CGrannyMaterialPalette::GetMaterialCount"
|
|
]
|
|
}
|
|
}
|
|
}
|