Owning lazy GPU resource resolver for texture-backed terrain Detail prototypes. @ownership Uploaded meshes and images are owned by the bound Graphics backend and leased by this resolver. @lifetime The reader and Graphics backend must outlive this object and its explicit release. @thread Construction, resolve, release, and destruction are graphics-thread affine. @reentrancy Calls no scripts or caller callbacks and must not be entered recursively. 更多...
#include <TerrainDetailGpuResolver.h>
类 | |
| struct | Impl |
Public 成员函数 | |
| TerrainDetailGpuResolver (const asset::EvpackResourceReader &reader, const asset::EvpackCapabilities &capabilities, graphics::Graphics &graphics) | |
| Constructs a TerrainDetailGpuResolver. | |
| ~TerrainDetailGpuResolver () override | |
| Releases TerrainDetailGpuResolver resources. | |
| TerrainDetailGpuResolver (const TerrainDetailGpuResolver &)=delete | |
| TerrainDetailGpuResolver & | operator= (const TerrainDetailGpuResolver &)=delete |
| Result< TerrainVegetationGpuPrototype > | resolve (const TerrainVegetationGpuPrototypeRequest &prototype) override |
| Load and cache one Detail card, image, and masked material transactionally. | |
| Result< void > | drawShadow (const TerrainVegetationGpuPrototypeRequest &prototype, const std::array< float, 16 > &transform, const std::array< float, 16 > &lightViewProjection) override |
| Draw one realized Detail instance in the active cascade shadow pass. | |
| Result< void > | release () |
| Release all backend leases; failed releases remain owned for retry. | |
Public 成员函数 继承自 eve::asset_procgen::ITerrainVegetationGpuResolver | |
| virtual | ~ITerrainVegetationGpuResolver ()=default |
| Releases ITerrainVegetationGpuResolver resources. | |
详细描述
Owning lazy GPU resource resolver for texture-backed terrain Detail prototypes. @ownership Uploaded meshes and images are owned by the bound Graphics backend and leased by this resolver. @lifetime The reader and Graphics backend must outlive this object and its explicit release. @thread Construction, resolve, release, and destruction are graphics-thread affine. @reentrancy Calls no scripts or caller callbacks and must not be entered recursively.
在文件 TerrainDetailGpuResolver.h 第 27 行定义.
构造及析构函数说明
◆ TerrainDetailGpuResolver() [1/2]
| eve::asset_procgen::TerrainDetailGpuResolver::TerrainDetailGpuResolver | ( | const asset::EvpackResourceReader & | reader, |
| const asset::EvpackCapabilities & | capabilities, | ||
| graphics::Graphics & | graphics | ||
| ) |
Constructs a TerrainDetailGpuResolver.
在文件 TerrainDetailGpuResolver.cpp 第 37 行定义.
◆ ~TerrainDetailGpuResolver()
|
override |
Releases TerrainDetailGpuResolver resources.
在文件 TerrainDetailGpuResolver.cpp 第 42 行定义.
引用了 release().
◆ TerrainDetailGpuResolver() [2/2]
|
delete |
成员函数说明
◆ drawShadow()
|
overridevirtual |
Draw one realized Detail instance in the active cascade shadow pass.
实现了 eve::asset_procgen::ITerrainVegetationGpuResolver.
在文件 TerrainDetailGpuResolver.cpp 第 207 行定义.
引用了 eve::Conflict, detail, eve::Diagnostic::error(), eve::Result< T >::failure(), found, key, eve::NotFound, request , 以及 eve::Result< T >::success().
◆ operator=()
|
delete |
◆ release()
| Result< void > eve::asset_procgen::TerrainDetailGpuResolver::release | ( | ) |
Release all backend leases; failed releases remain owned for retry.
在文件 TerrainDetailGpuResolver.cpp 第 231 行定义.
引用了 eve::Result< T >::failure(), image, material, mesh, prefab , 以及 eve::Result< T >::success().
被这些函数引用 ~TerrainDetailGpuResolver().
◆ resolve()
|
overridevirtual |
Load and cache one Detail card, image, and masked material transactionally.
实现了 eve::asset_procgen::ITerrainVegetationGpuResolver.
在文件 TerrainDetailGpuResolver.cpp 第 99 行定义.
引用了 eve::Conflict, detail, eve::Diagnostic::error(), eve::Result< T >::failure(), found, key, eve::graphics::kInvalidGpuDrivenSlot, eve::asset_graphics::EvpackStaticPrefab::load(), eve::NotFound, eve::AssetRef::parse(), parts, prefab, reference, request, resource, slots, source , 以及 eve::Result< T >::success().
该类的文档由以下文件生成:
- src/modules/asset/procgen/TerrainDetailGpuResolver.h
- src/modules/asset/procgen/TerrainDetailGpuResolver.cpp
Public 成员函数 继承自