载入中...
搜索中...
未找到
EvpackVegetationScene.cpp 文件参考
#include "asset/graphics/EvpackVegetationScene.h"
#include "asset/RuntimeDefinition.h"
#include "asset/EvpackImageDecoder.h"
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <glm/common.hpp>
#include <glm/geometric.hpp>
#include <limits>
#include <new>
#include <numeric>
#include <set>

浏览源代码.

命名空间

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

函数

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::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::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::convertVegetationSceneChannelToNative (graphics::VegetationChannel channel, const graphics::VegetationChannelAtlas &tveAtlas)
 Convert one fully composed TVE channel atlas to EVEngine conventions.
 
Result< graphics::VegetationAtlas > eve::asset_graphics::convertVegetationSceneAtlasToNative (const graphics::VegetationAtlas &tveAtlas)
 Convert a fully composed TVE render-target atlas to EVEngine field channel conventions.