载入中...
搜索中...
未找到
SurfaceFluidSceneRenderer.cpp
浏览该文件的文档.
Builds renderer-independent droplet instances and wet PBR parameters.
Definition SurfaceFluidRenderData.h:60
const std::vector< SurfaceDropletRenderInstance > & droplets() const
Droplets.
Definition SurfaceFluidRenderData.h:73
static WetSurfaceMaterialSample evaluateMaterial(float wetness, const WetSurfaceMaterialParams ¶ms={})
Evaluate wet PBR values from a normalized wetness input.
Definition SurfaceFluidRenderData.cpp:53
SurfaceFluidSceneRenderer(graphics::Graphics *graphics)
Surface fluid scene renderer.
Definition SurfaceFluidSceneRenderer.cpp:10
void draw(const SurfaceFluidRenderData &renderData, const glm::vec4 &tint=glm::vec4(0.72f, 0.88f, 0.96f, 0.78f))
Draw all attached droplet caps into an already-open 3D frame.
Definition SurfaceFluidSceneRenderer.cpp:23
static glm::mat4 modelMatrix(const SurfaceDropletRenderInstance &instance)
Build a unit-sphere model matrix whose lower pole touches the surface.
Definition SurfaceFluidSceneRenderer.cpp:13
Definition Graphics.h:125
virtual void setMesh3DMaterial(float metallic, float roughness)=0
Metallic (0..1) and roughness (0..1) for the next default mesh draw.
virtual void drawMesh(Mesh *mesh, const glm::mat4 &model, Texture *texture, const Color &tint)=0
Draw one mesh with model matrix. Requires begin3DFrame() (or an open swapchain pass).
virtual Mesh * newMeshSphere(int slices=32, int stacks=16)=0
Procedural UV sphere (radius 1, Y-up). Owned by Graphics. slices = longitude divisions,...
World-space oriented cap instance consumed by droplet instancing shaders.
Definition SurfaceFluidRenderData.h:34
glm::vec3 majorAxis
Definition SurfaceFluidRenderData.h:38
float capHeight
Definition SurfaceFluidRenderData.h:41
glm::vec3 minorAxis
Definition SurfaceFluidRenderData.h:39
glm::vec3 position
Definition SurfaceFluidRenderData.h:36
glm::vec3 normal
Definition SurfaceFluidRenderData.h:37
Evaluated material values suitable for a wet-surface shader.
Definition SurfaceFluidRenderData.h:25