mirror of
https://github.com/overte-org/overte.git
synced 2025-06-15 22:39:32 +02:00
Renamed resourcering to resourceswapchain
This commit is contained in:
parent
f53c2f41a5
commit
093a1491cd
10 changed files with 49 additions and 49 deletions
|
@ -99,10 +99,10 @@ GLBackend::CommandCall GLBackend::_commandCalls[Batch::NUM_COMMANDS] =
|
||||||
(&::gpu::gl::GLBackend::do_setUniformBuffer),
|
(&::gpu::gl::GLBackend::do_setUniformBuffer),
|
||||||
(&::gpu::gl::GLBackend::do_setResourceBuffer),
|
(&::gpu::gl::GLBackend::do_setResourceBuffer),
|
||||||
(&::gpu::gl::GLBackend::do_setResourceTexture),
|
(&::gpu::gl::GLBackend::do_setResourceTexture),
|
||||||
(&::gpu::gl::GLBackend::do_setResourceFramebufferRingTexture),
|
(&::gpu::gl::GLBackend::do_setResourceFramebufferSwapChainTexture),
|
||||||
|
|
||||||
(&::gpu::gl::GLBackend::do_setFramebuffer),
|
(&::gpu::gl::GLBackend::do_setFramebuffer),
|
||||||
(&::gpu::gl::GLBackend::do_setFramebufferRing),
|
(&::gpu::gl::GLBackend::do_setFramebufferSwapChain),
|
||||||
(&::gpu::gl::GLBackend::do_clearFramebuffer),
|
(&::gpu::gl::GLBackend::do_clearFramebuffer),
|
||||||
(&::gpu::gl::GLBackend::do_blit),
|
(&::gpu::gl::GLBackend::do_blit),
|
||||||
(&::gpu::gl::GLBackend::do_generateTextureMips),
|
(&::gpu::gl::GLBackend::do_generateTextureMips),
|
||||||
|
|
|
@ -126,14 +126,14 @@ public:
|
||||||
// Resource Stage
|
// Resource Stage
|
||||||
virtual void do_setResourceBuffer(const Batch& batch, size_t paramOffset) final;
|
virtual void do_setResourceBuffer(const Batch& batch, size_t paramOffset) final;
|
||||||
virtual void do_setResourceTexture(const Batch& batch, size_t paramOffset) final;
|
virtual void do_setResourceTexture(const Batch& batch, size_t paramOffset) final;
|
||||||
virtual void do_setResourceFramebufferRingTexture(const Batch& batch, size_t paramOffset) final;
|
virtual void do_setResourceFramebufferSwapChainTexture(const Batch& batch, size_t paramOffset) final;
|
||||||
|
|
||||||
// Pipeline Stage
|
// Pipeline Stage
|
||||||
virtual void do_setPipeline(const Batch& batch, size_t paramOffset) final;
|
virtual void do_setPipeline(const Batch& batch, size_t paramOffset) final;
|
||||||
|
|
||||||
// Output stage
|
// Output stage
|
||||||
virtual void do_setFramebuffer(const Batch& batch, size_t paramOffset) final;
|
virtual void do_setFramebuffer(const Batch& batch, size_t paramOffset) final;
|
||||||
virtual void do_setFramebufferRing(const Batch& batch, size_t paramOffset) final;
|
virtual void do_setFramebufferSwapChain(const Batch& batch, size_t paramOffset) final;
|
||||||
virtual void do_clearFramebuffer(const Batch& batch, size_t paramOffset) final;
|
virtual void do_clearFramebuffer(const Batch& batch, size_t paramOffset) final;
|
||||||
virtual void do_blit(const Batch& batch, size_t paramOffset) = 0;
|
virtual void do_blit(const Batch& batch, size_t paramOffset) = 0;
|
||||||
|
|
||||||
|
|
|
@ -40,11 +40,11 @@ void GLBackend::do_setFramebuffer(const Batch& batch, size_t paramOffset) {
|
||||||
setFramebuffer(framebuffer);
|
setFramebuffer(framebuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLBackend::do_setFramebufferRing(const Batch& batch, size_t paramOffset) {
|
void GLBackend::do_setFramebufferSwapChain(const Batch& batch, size_t paramOffset) {
|
||||||
auto ringbuffer = batch._ringbuffers.get(batch._params[paramOffset]._uint);
|
auto swapChain = batch._swapChains.get(batch._params[paramOffset]._uint);
|
||||||
if (ringbuffer) {
|
if (swapChain) {
|
||||||
auto index = batch._params[paramOffset + 1]._uint;
|
auto index = batch._params[paramOffset + 1]._uint;
|
||||||
FramebufferPointer framebuffer = static_cast<const FramebufferRing*>(ringbuffer.get())->get(index);
|
FramebufferPointer framebuffer = static_cast<const FramebufferSwapChain*>(swapChain.get())->get(index);
|
||||||
setFramebuffer(framebuffer);
|
setFramebuffer(framebuffer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ void GLBackend::setFramebuffer(const FramebufferPointer& framebuffer) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLBackend::do_advance(const Batch& batch, size_t paramOffset) {
|
void GLBackend::do_advance(const Batch& batch, size_t paramOffset) {
|
||||||
auto ringbuffer = batch._ringbuffers.get(batch._params[paramOffset]._uint);
|
auto ringbuffer = batch._swapChains.get(batch._params[paramOffset]._uint);
|
||||||
if (ringbuffer) {
|
if (ringbuffer) {
|
||||||
ringbuffer->advance();
|
ringbuffer->advance();
|
||||||
}
|
}
|
||||||
|
|
|
@ -256,22 +256,22 @@ void GLBackend::do_setResourceTexture(const Batch& batch, size_t paramOffset) {
|
||||||
setResourceTexture(slot, resourceTexture);
|
setResourceTexture(slot, resourceTexture);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLBackend::do_setResourceFramebufferRingTexture(const Batch& batch, size_t paramOffset) {
|
void GLBackend::do_setResourceFramebufferSwapChainTexture(const Batch& batch, size_t paramOffset) {
|
||||||
GLuint slot = batch._params[paramOffset + 1]._uint;
|
GLuint slot = batch._params[paramOffset + 1]._uint;
|
||||||
if (slot >= (GLuint)MAX_NUM_RESOURCE_TEXTURES) {
|
if (slot >= (GLuint)MAX_NUM_RESOURCE_TEXTURES) {
|
||||||
qCDebug(gpugllogging) << "GLBackend::do_setResourceFramebufferRingTexture: Trying to set a resource Texture at slot #" << slot << " which doesn't exist. MaxNumResourceTextures = " << getMaxNumResourceTextures();
|
qCDebug(gpugllogging) << "GLBackend::do_setResourceFramebufferSwapChainTexture: Trying to set a resource Texture at slot #" << slot << " which doesn't exist. MaxNumResourceTextures = " << getMaxNumResourceTextures();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
RingBufferPointer ringBuffer = batch._ringbuffers.get(batch._params[paramOffset + 0]._uint);
|
SwapChainPointer swapChain = batch._swapChains.get(batch._params[paramOffset + 0]._uint);
|
||||||
|
|
||||||
if (!ringBuffer) {
|
if (!swapChain) {
|
||||||
releaseResourceTexture(slot);
|
releaseResourceTexture(slot);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
auto index = batch._params[paramOffset + 2]._uint;
|
auto index = batch._params[paramOffset + 2]._uint;
|
||||||
auto renderBufferSlot = batch._params[paramOffset + 3]._uint;
|
auto renderBufferSlot = batch._params[paramOffset + 3]._uint;
|
||||||
FramebufferPointer resourceFramebuffer = static_cast<const FramebufferRing*>(ringBuffer.get())->get(index);
|
FramebufferPointer resourceFramebuffer = static_cast<const FramebufferSwapChain*>(swapChain.get())->get(index);
|
||||||
TexturePointer resourceTexture = resourceFramebuffer->getRenderBuffer(renderBufferSlot);
|
TexturePointer resourceTexture = resourceFramebuffer->getRenderBuffer(renderBufferSlot);
|
||||||
|
|
||||||
setResourceTexture(slot, resourceTexture);
|
setResourceTexture(slot, resourceTexture);
|
||||||
|
|
|
@ -73,7 +73,7 @@ Batch::Batch(const Batch& batch_) {
|
||||||
_transforms._items.swap(batch._transforms._items);
|
_transforms._items.swap(batch._transforms._items);
|
||||||
_pipelines._items.swap(batch._pipelines._items);
|
_pipelines._items.swap(batch._pipelines._items);
|
||||||
_framebuffers._items.swap(batch._framebuffers._items);
|
_framebuffers._items.swap(batch._framebuffers._items);
|
||||||
_ringbuffers._items.swap(batch._ringbuffers._items);
|
_swapChains._items.swap(batch._swapChains._items);
|
||||||
_drawCallInfos.swap(batch._drawCallInfos);
|
_drawCallInfos.swap(batch._drawCallInfos);
|
||||||
_queries._items.swap(batch._queries._items);
|
_queries._items.swap(batch._queries._items);
|
||||||
_lambdas._items.swap(batch._lambdas._items);
|
_lambdas._items.swap(batch._lambdas._items);
|
||||||
|
@ -111,7 +111,7 @@ void Batch::clear() {
|
||||||
_transforms.clear();
|
_transforms.clear();
|
||||||
_pipelines.clear();
|
_pipelines.clear();
|
||||||
_framebuffers.clear();
|
_framebuffers.clear();
|
||||||
_ringbuffers.clear();
|
_swapChains.clear();
|
||||||
_objects.clear();
|
_objects.clear();
|
||||||
_drawCallInfos.clear();
|
_drawCallInfos.clear();
|
||||||
}
|
}
|
||||||
|
@ -322,12 +322,12 @@ void Batch::setResourceTexture(uint32 slot, const TextureView& view) {
|
||||||
setResourceTexture(slot, view._texture);
|
setResourceTexture(slot, view._texture);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Batch::setResourceFramebufferRingTexture(uint32 slot, const FramebufferRingPointer& framebuffer, unsigned int ringIndex, unsigned int renderBufferSlot) {
|
void Batch::setResourceFramebufferSwapChainTexture(uint32 slot, const FramebufferSwapChainPointer& framebuffer, unsigned int swapChainIndex, unsigned int renderBufferSlot) {
|
||||||
ADD_COMMAND(setResourceFramebufferRingTexture);
|
ADD_COMMAND(setResourceFramebufferSwapChainTexture);
|
||||||
|
|
||||||
_params.emplace_back(_ringbuffers.cache(framebuffer));
|
_params.emplace_back(_swapChains.cache(framebuffer));
|
||||||
_params.emplace_back(slot);
|
_params.emplace_back(slot);
|
||||||
_params.emplace_back(ringIndex);
|
_params.emplace_back(swapChainIndex);
|
||||||
_params.emplace_back(renderBufferSlot);
|
_params.emplace_back(renderBufferSlot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -338,17 +338,17 @@ void Batch::setFramebuffer(const FramebufferPointer& framebuffer) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Batch::setFramebufferRing(const FramebufferRingPointer& framebuffer, unsigned int ringIndex) {
|
void Batch::setFramebufferSwapChain(const FramebufferSwapChainPointer& framebuffer, unsigned int swapChainIndex) {
|
||||||
ADD_COMMAND(setFramebufferRing);
|
ADD_COMMAND(setFramebufferSwapChain);
|
||||||
|
|
||||||
_params.emplace_back(_ringbuffers.cache(framebuffer));
|
_params.emplace_back(_swapChains.cache(framebuffer));
|
||||||
_params.emplace_back(ringIndex);
|
_params.emplace_back(swapChainIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Batch::advance(const RingBufferPointer& ringbuffer) {
|
void Batch::advance(const SwapChainPointer& swapChain) {
|
||||||
ADD_COMMAND(advance);
|
ADD_COMMAND(advance);
|
||||||
|
|
||||||
_params.emplace_back(_ringbuffers.cache(ringbuffer));
|
_params.emplace_back(_swapChains.cache(swapChain));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Batch::clearFramebuffer(Framebuffer::Masks targets, const Vec4& color, float depth, int stencil, bool enableScissor) {
|
void Batch::clearFramebuffer(Framebuffer::Masks targets, const Vec4& color, float depth, int stencil, bool enableScissor) {
|
||||||
|
|
|
@ -187,13 +187,13 @@ public:
|
||||||
|
|
||||||
void setResourceTexture(uint32 slot, const TexturePointer& texture);
|
void setResourceTexture(uint32 slot, const TexturePointer& texture);
|
||||||
void setResourceTexture(uint32 slot, const TextureView& view); // not a command, just a shortcut from a TextureView
|
void setResourceTexture(uint32 slot, const TextureView& view); // not a command, just a shortcut from a TextureView
|
||||||
void setResourceFramebufferRingTexture(uint32 slot, const FramebufferRingPointer& framebuffer, unsigned int ringIndex, unsigned int renderBufferSlot = 0U); // not a command, just a shortcut from a TextureView
|
void setResourceFramebufferSwapChainTexture(uint32 slot, const FramebufferSwapChainPointer& framebuffer, unsigned int swpaChainIndex, unsigned int renderBufferSlot = 0U); // not a command, just a shortcut from a TextureView
|
||||||
|
|
||||||
// Ouput Stage
|
// Ouput Stage
|
||||||
void setFramebuffer(const FramebufferPointer& framebuffer);
|
void setFramebuffer(const FramebufferPointer& framebuffer);
|
||||||
void setFramebufferRing(const FramebufferRingPointer& framebuffer, unsigned int ringIndex);
|
void setFramebufferSwapChain(const FramebufferSwapChainPointer& framebuffer, unsigned int swapChainIndex);
|
||||||
|
|
||||||
void advance(const RingBufferPointer& ringbuffer);
|
void advance(const SwapChainPointer& swapChain);
|
||||||
|
|
||||||
// Clear framebuffer layers
|
// Clear framebuffer layers
|
||||||
// Targets can be any of the render buffers contained in the currnetly bound Framebuffer
|
// Targets can be any of the render buffers contained in the currnetly bound Framebuffer
|
||||||
|
@ -302,10 +302,10 @@ public:
|
||||||
COMMAND_setUniformBuffer,
|
COMMAND_setUniformBuffer,
|
||||||
COMMAND_setResourceBuffer,
|
COMMAND_setResourceBuffer,
|
||||||
COMMAND_setResourceTexture,
|
COMMAND_setResourceTexture,
|
||||||
COMMAND_setResourceFramebufferRingTexture,
|
COMMAND_setResourceFramebufferSwapChainTexture,
|
||||||
|
|
||||||
COMMAND_setFramebuffer,
|
COMMAND_setFramebuffer,
|
||||||
COMMAND_setFramebufferRing,
|
COMMAND_setFramebufferSwapChain,
|
||||||
COMMAND_clearFramebuffer,
|
COMMAND_clearFramebuffer,
|
||||||
COMMAND_blit,
|
COMMAND_blit,
|
||||||
COMMAND_generateTextureMips,
|
COMMAND_generateTextureMips,
|
||||||
|
@ -428,7 +428,7 @@ public:
|
||||||
typedef Cache<Transform>::Vector TransformCaches;
|
typedef Cache<Transform>::Vector TransformCaches;
|
||||||
typedef Cache<PipelinePointer>::Vector PipelineCaches;
|
typedef Cache<PipelinePointer>::Vector PipelineCaches;
|
||||||
typedef Cache<FramebufferPointer>::Vector FramebufferCaches;
|
typedef Cache<FramebufferPointer>::Vector FramebufferCaches;
|
||||||
typedef Cache<RingBufferPointer>::Vector RingBufferCaches;
|
typedef Cache<SwapChainPointer>::Vector SwapChainCaches;
|
||||||
typedef Cache<QueryPointer>::Vector QueryCaches;
|
typedef Cache<QueryPointer>::Vector QueryCaches;
|
||||||
typedef Cache<std::string>::Vector StringCaches;
|
typedef Cache<std::string>::Vector StringCaches;
|
||||||
typedef Cache<std::function<void()>>::Vector LambdaCache;
|
typedef Cache<std::function<void()>>::Vector LambdaCache;
|
||||||
|
@ -483,7 +483,7 @@ public:
|
||||||
TransformCaches _transforms;
|
TransformCaches _transforms;
|
||||||
PipelineCaches _pipelines;
|
PipelineCaches _pipelines;
|
||||||
FramebufferCaches _framebuffers;
|
FramebufferCaches _framebuffers;
|
||||||
RingBufferCaches _ringbuffers;
|
SwapChainCaches _swapChains;
|
||||||
QueryCaches _queries;
|
QueryCaches _queries;
|
||||||
LambdaCache _lambdas;
|
LambdaCache _lambdas;
|
||||||
StringCaches _profileRanges;
|
StringCaches _profileRanges;
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#define hifi_gpu_Framebuffer_h
|
#define hifi_gpu_Framebuffer_h
|
||||||
|
|
||||||
#include "Texture.h"
|
#include "Texture.h"
|
||||||
#include "ResourceRing.h"
|
#include "ResourceSwapChain.h"
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
class Transform; // Texcood transform util
|
class Transform; // Texcood transform util
|
||||||
|
@ -178,8 +178,8 @@ protected:
|
||||||
Framebuffer() {}
|
Framebuffer() {}
|
||||||
};
|
};
|
||||||
typedef std::shared_ptr<Framebuffer> FramebufferPointer;
|
typedef std::shared_ptr<Framebuffer> FramebufferPointer;
|
||||||
typedef ResourceRing<Framebuffer> FramebufferRing;
|
typedef ResourceSwapChain<Framebuffer> FramebufferSwapChain;
|
||||||
typedef std::shared_ptr<FramebufferRing> FramebufferRingPointer;
|
typedef std::shared_ptr<FramebufferSwapChain> FramebufferSwapChainPointer;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,18 +5,18 @@
|
||||||
// Distributed under the Apache License, Version 2.0.
|
// Distributed under the Apache License, Version 2.0.
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
//
|
//
|
||||||
#ifndef hifi_gpu_ResourceRing_h
|
#ifndef hifi_gpu_ResourceSwapChain_h
|
||||||
#define hifi_gpu_ResourceRing_h
|
#define hifi_gpu_ResourceSwapChain_h
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <array>
|
#include <array>
|
||||||
|
|
||||||
namespace gpu {
|
namespace gpu {
|
||||||
class RingBuffer {
|
class SwapChain {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
RingBuffer(unsigned int size = 2U) : _size{ size } {}
|
SwapChain(unsigned int size = 2U) : _size{ size } {}
|
||||||
virtual ~RingBuffer() {}
|
virtual ~SwapChain() {}
|
||||||
|
|
||||||
void advance() {
|
void advance() {
|
||||||
_frontIndex = (_frontIndex + 1) % _size;
|
_frontIndex = (_frontIndex + 1) % _size;
|
||||||
|
@ -29,10 +29,10 @@ namespace gpu {
|
||||||
unsigned int _frontIndex{ 0U };
|
unsigned int _frontIndex{ 0U };
|
||||||
|
|
||||||
};
|
};
|
||||||
typedef std::shared_ptr<RingBuffer> RingBufferPointer;
|
typedef std::shared_ptr<SwapChain> SwapChainPointer;
|
||||||
|
|
||||||
template <class R>
|
template <class R>
|
||||||
class ResourceRing : public RingBuffer {
|
class ResourceSwapChain : public SwapChain {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -42,7 +42,7 @@ namespace gpu {
|
||||||
using Type = R;
|
using Type = R;
|
||||||
using TypePointer = std::shared_ptr<R>;
|
using TypePointer = std::shared_ptr<R>;
|
||||||
|
|
||||||
ResourceRing(unsigned int size = 2U) : RingBuffer{ size } {}
|
ResourceSwapChain(unsigned int size = 2U) : SwapChain{ size } {}
|
||||||
|
|
||||||
void reset() {
|
void reset() {
|
||||||
for (auto& ptr : _resources) {
|
for (auto& ptr : _resources) {
|
|
@ -188,7 +188,7 @@ const int AntialiasingPass_NextMapSlot = 4;
|
||||||
|
|
||||||
|
|
||||||
Antialiasing::Antialiasing() {
|
Antialiasing::Antialiasing() {
|
||||||
_antialiasingBuffers = std::make_shared<gpu::FramebufferRing>(2U);
|
_antialiasingBuffers = std::make_shared<gpu::FramebufferSwapChain>(2U);
|
||||||
}
|
}
|
||||||
|
|
||||||
Antialiasing::~Antialiasing() {
|
Antialiasing::~Antialiasing() {
|
||||||
|
@ -343,7 +343,7 @@ void Antialiasing::run(const render::RenderContextPointer& renderContext, const
|
||||||
|
|
||||||
// TAA step
|
// TAA step
|
||||||
getAntialiasingPipeline();
|
getAntialiasingPipeline();
|
||||||
batch.setResourceFramebufferRingTexture(AntialiasingPass_HistoryMapSlot, _antialiasingBuffers, 0);
|
batch.setResourceFramebufferSwapChainTexture(AntialiasingPass_HistoryMapSlot, _antialiasingBuffers, 0);
|
||||||
batch.setResourceTexture(AntialiasingPass_SourceMapSlot, sourceBuffer->getRenderBuffer(0));
|
batch.setResourceTexture(AntialiasingPass_SourceMapSlot, sourceBuffer->getRenderBuffer(0));
|
||||||
batch.setResourceTexture(AntialiasingPass_VelocityMapSlot, velocityBuffer->getVelocityTexture());
|
batch.setResourceTexture(AntialiasingPass_VelocityMapSlot, velocityBuffer->getVelocityTexture());
|
||||||
batch.setResourceTexture(AntialiasingPass_DepthMapSlot, linearDepthBuffer->getLinearDepthTexture());
|
batch.setResourceTexture(AntialiasingPass_DepthMapSlot, linearDepthBuffer->getLinearDepthTexture());
|
||||||
|
@ -351,7 +351,7 @@ void Antialiasing::run(const render::RenderContextPointer& renderContext, const
|
||||||
batch.setUniformBuffer(AntialiasingPass_ParamsSlot, _params);
|
batch.setUniformBuffer(AntialiasingPass_ParamsSlot, _params);
|
||||||
batch.setUniformBuffer(AntialiasingPass_FrameTransformSlot, deferredFrameTransform->getFrameTransformBuffer());
|
batch.setUniformBuffer(AntialiasingPass_FrameTransformSlot, deferredFrameTransform->getFrameTransformBuffer());
|
||||||
|
|
||||||
batch.setFramebufferRing(_antialiasingBuffers, 1);
|
batch.setFramebufferSwapChain(_antialiasingBuffers, 1);
|
||||||
batch.setPipeline(getAntialiasingPipeline());
|
batch.setPipeline(getAntialiasingPipeline());
|
||||||
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
||||||
|
|
||||||
|
@ -364,7 +364,7 @@ void Antialiasing::run(const render::RenderContextPointer& renderContext, const
|
||||||
} else {
|
} else {
|
||||||
batch.setPipeline(getBlendPipeline());
|
batch.setPipeline(getBlendPipeline());
|
||||||
}
|
}
|
||||||
batch.setResourceFramebufferRingTexture(AntialiasingPass_NextMapSlot, _antialiasingBuffers, 1);
|
batch.setResourceFramebufferSwapChainTexture(AntialiasingPass_NextMapSlot, _antialiasingBuffers, 1);
|
||||||
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
||||||
batch.advance(_antialiasingBuffers);
|
batch.advance(_antialiasingBuffers);
|
||||||
|
|
||||||
|
|
|
@ -191,7 +191,7 @@ private:
|
||||||
// Uniforms for AA
|
// Uniforms for AA
|
||||||
gpu::int32 _texcoordOffsetLoc;
|
gpu::int32 _texcoordOffsetLoc;
|
||||||
|
|
||||||
gpu::FramebufferRingPointer _antialiasingBuffers;
|
gpu::FramebufferSwapChainPointer _antialiasingBuffers;
|
||||||
gpu::TexturePointer _antialiasingTextures[2];
|
gpu::TexturePointer _antialiasingTextures[2];
|
||||||
|
|
||||||
gpu::PipelinePointer _antialiasingPipeline;
|
gpu::PipelinePointer _antialiasingPipeline;
|
||||||
|
|
Loading…
Reference in a new issue