EEVEE Next: Ambient Occlusion #108398
|
@ -35,9 +35,6 @@ namespace blender::eevee {
|
|||
|
||||
void AmbientOcclusion::init()
|
||||
{
|
||||
dummy_horizons_tx_.ensure_2d(
|
||||
GPU_RGBA8, int2(1), GPU_TEXTURE_USAGE_ATTACHMENT | GPU_TEXTURE_USAGE_SHADER_READ, float4(0));
|
||||
|
||||
debug_ = G.debug_value == 6;
|
||||
|
||||
const Scene *scene = inst_.scene;
|
||||
|
|
|
@ -26,20 +26,25 @@ class AmbientOcclusion {
|
|||
bool debug_;
|
||||
|
||||
/* TODO: Move somewhere else. */
|
||||
UniformBuffer<RayTracingData> rt_data_;
|
||||
RayTracingDataBuf rt_data_;
|
||||
|
||||
UniformBuffer<AOData> data_;
|
||||
AODataBuf data_;
|
||||
|
||||
Texture dummy_horizons_tx_;
|
||||
Texture horizons_tx_;
|
||||
Texture horizons_debug_tx_;
|
||||
|
||||
Framebuffer fb_ = {"GTAO"};
|
||||
|
||||
PassSimple horizons_search_ps_ = {"GTAO Horizons Search"};
|
||||
|
||||
public:
|
||||
AmbientOcclusion(Instance &inst) : inst_(inst){};
|
||||
AmbientOcclusion(Instance &inst) : inst_(inst)
|
||||
{
|
||||
dummy_horizons_tx_.ensure_2d(GPU_RGBA8,
|
||||
int2(1),
|
||||
GPU_TEXTURE_USAGE_ATTACHMENT | GPU_TEXTURE_USAGE_SHADER_READ,
|
||||
float4(0));
|
||||
};
|
||||
~AmbientOcclusion(){};
|
||||
|
||||
void init();
|
||||
|
|
|
@ -1014,6 +1014,8 @@ using VelocityGeometryBuf = draw::StorageArrayBuffer<float4, 16, true>;
|
|||
using VelocityIndexBuf = draw::StorageArrayBuffer<VelocityIndex, 16>;
|
||||
using VelocityObjectBuf = draw::StorageArrayBuffer<float4x4, 16>;
|
||||
using CryptomatteObjectBuf = draw::StorageArrayBuffer<float2, 16>;
|
||||
using AODataBuf = draw::UniformBuffer<AOData>;
|
||||
using RayTracingDataBuf = draw::UniformBuffer<RayTracingData>;
|
||||
|
||||
} // namespace blender::eevee
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue