载入中...
搜索中...
未找到
EvpackVegetationScene.h 文件参考

Runtime decoding and projection of TVE scene-manager state. 更多...

#include "asset/EvpackResourceReader.h"
#include "graphics/VegetationDetails.h"
#include "graphics/VegetationField.h"
#include "graphics/VegetationFieldGpu.h"
#include <array>
#include <map>
#include <glm/vec2.hpp>
#include <memory>
#include <vector>
#include <span>

浏览源代码.

类

struct  eve::asset_graphics::VegetationSceneControl
 Owning TVE Global Control values; texture identities remain source-map GUIDs. 更多...
 
struct  eve::asset_graphics::VegetationSceneMotion
 Owning TVE Global Motion values; time is supplied by each frame. 更多...
 
struct  eve::asset_graphics::VegetationSceneVolumeChannel
 One TVE volume texture channel allocation policy. 更多...
 
struct  eve::asset_graphics::VegetationSceneVolume
 Owning TVE Global Volume policy; render resources are allocated by the runtime host. 更多...
 
struct  eve::asset_graphics::VegetationSceneElementProperty
 One normalized Unity TVEElement definition awaiting texture realization. 更多...
 
struct  eve::asset_graphics::VegetationSceneElement
 One normalized Unity TVEElement definition awaiting texture realization. 更多...
 
struct  eve::asset_graphics::VegetationSceneElementPixelInput
 Explicit per-draw inputs consumed by one TVE Element fragment evaluation. 更多...
 
struct  eve::asset_graphics::VegetationSceneElementPixel
 Detached TVE render-target source value and independent hardware blend policy. 更多...
 
struct  eve::asset_graphics::LoadedVegetationScene
 Fully validated, detached scene-manager candidate with no archive or GPU borrows. 更多...
 
struct  eve::asset_graphics::VegetationSceneProjection
 Detached PBR and CPU-motion snapshot ready for atomic material publication. 更多...
 
class  eve::asset_graphics::EvpackVegetationSceneLoader
 Strict capability-aware decoder for eve.vegetation-scene/1. 更多...
 
struct  eve::asset_graphics::VegetationSceneChannelGpuBuild
 Detached inputs for one independently sized TVE manager channel. 更多...
 
struct  eve::asset_graphics::VegetationSceneGpuBuild
 Explicit detached inputs for publishing all nine TVE scene-manager field layers. 更多...
 
struct  eve::asset_graphics::VegetationSceneGpuPublication
 Receipt for one atomic scene-manager GPU replacement. 更多...
 
class  eve::asset_graphics::VegetationSceneGpuRuntime
 Owning GPU publication of one immutable TVE manager scene. The resource factory, mask map and scene are borrowed only while create executes. The returned runtime owns the field textures and projected material snapshot. It must outlive every draw borrowing surface(). 更多...
 

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::asset_graphics
 

枚举

enum class  eve::asset_graphics::VegetationScenePixelBlend : std::uint8_t { eve::asset_graphics::Alpha , eve::asset_graphics::Multiply , eve::asset_graphics::Add , eve::asset_graphics::Replace }
 Detached TVE render-target source value and independent hardware blend policy. 更多...
 

函数

Result< VegetationSceneProjection > eve::asset_graphics::projectVegetationScene (const graphics::PbrSurface &baseSurface, const graphics::VegetationMotion &baseMotion, const LoadedVegetationScene &scene)
 Project validated TVE manager controls onto one material/motion snapshot.
 
Result< std::map< std::string, graphics::VegetationMask > > eve::asset_graphics::loadVegetationSceneElementMasks (const asset::EvpackResourceReader &reader, const LoadedVegetationScene &scene, const asset::EvpackCapabilities &capabilities, std::uint64_t maximumDecodedBytes=256 *1024 *1024)
 Decode every runtime texture used by admitted TVE Element shaders into owning linear masks.
 
Result< VegetationSceneElementPixel > eve::asset_graphics::evaluateVegetationSceneElementPixel (const VegetationSceneElement &element, const VegetationSceneElementPixelInput &input)
 Evaluate one TVE Element fragment using caller-supplied texture, instance and particle inputs.
 
glm::vec4 eve::asset_graphics::composeVegetationSceneElementPixel (glm::vec4 destination, const VegetationSceneElementPixel &source) noexcept
 Apply one evaluated source pixel to a destination with TVE's separate blend factors and ColorMask.
 
Result< graphics::VegetationAtlas > eve::asset_graphics::bakeVegetationSceneElements (const LoadedVegetationScene &scene, const std::map< std::string, graphics::VegetationMask > &masks, const graphics::VegetationAtlas &base, std::array< std::uint8_t, 4 > layers={}, std::span< const glm::vec3 > worldNormals={}, std::span< const float > terrainHeights={}, std::span< const glm::vec4 > noiseSamples={})
 Rasterize the ordered TVE Element list over an owning four-channel atlas candidate.
 
Result< graphics::VegetationChannelAtlas > eve::asset_graphics::bakeVegetationSceneChannel (const LoadedVegetationScene &scene, const std::map< std::string, graphics::VegetationMask > &masks, graphics::VegetationChannel channel, const graphics::VegetationChannelAtlas &base, std::uint8_t layer=0, std::span< const glm::vec3 > worldNormals={}, std::span< const float > terrainHeights={}, std::span< const glm::vec4 > noiseSamples={})
 Bake one TVE manager channel at its own resolution and world mapping.
 
Result< graphics::VegetationAtlas > eve::asset_graphics::convertVegetationSceneAtlasToNative (const graphics::VegetationAtlas &tveAtlas)
 Convert a fully composed TVE render-target atlas to EVEngine field channel conventions.
 
Result< graphics::VegetationChannelAtlas > eve::asset_graphics::convertVegetationSceneChannelToNative (graphics::VegetationChannel channel, const graphics::VegetationChannelAtlas &tveAtlas)
 Convert one fully composed TVE channel atlas to EVEngine conventions.
 

详细描述

Runtime decoding and projection of TVE scene-manager state.

在文件 EvpackVegetationScene.h 中定义.