载入中...
搜索中...
未找到
ParallaxMap.h
浏览该文件的文档.
1#pragma once
2
3#include <algorithm>
4#include <cmath>
5
6namespace eve::graphics {
7
16 float scale = 0.f; // 0 = off
17 float minLayers = 8.f; // adaptive POM min steps
18 float maxLayers = 32.f; // adaptive POM max steps
19};
20
22inline void parallaxOffsetUV(float u, float v, float height01, float viewTSx, float viewTSy,
23 float viewTSz, float scale, float &ou, float &ov) {
24 if (scale < 1e-5f) {
25 ou = u;
26 ov = v;
27 return;
28 }
29 const float depth = 1.f - height01;
30 const float vz = std::max(std::fabs(viewTSz), 0.08f);
31 ou = u - (viewTSx / vz) * depth * scale;
32 ov = v - (viewTSy / vz) * depth * scale;
33}
34
36 if (p.scale < 0.f) p.scale = 0.f;
37 if (p.scale > 0.25f) p.scale = 0.25f;
38 if (p.minLayers < 1.f) p.minLayers = 1.f;
39 if (p.maxLayers < p.minLayers) p.maxLayers = p.minLayers;
40 if (p.maxLayers > 64.f) p.maxLayers = 64.f;
41}
42
43} // namespace eve::graphics
float u
Definition Grass.cpp:234
float depth
glm::vec4 p[6]
int v
float scale
Definition TreeMesh.cpp:122
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition AnimTrail.h:6
void parallaxOffsetUV(float u, float v, float height01, float viewTSx, float viewTSy, float viewTSz, float scale, float &ou, float &ov)
Single-sample offset mapping (cheap approximation of the first POM step).
Definition ParallaxMap.h:22
void clampParallaxParams(ParallaxParams &p)
Definition ParallaxMap.h:35
CPU reference for simple offset parallax (matches the scale / height convention of parallax_map....
Definition ParallaxMap.h:15