mirror of
https://github.com/overte-org/overte.git
synced 2025-07-23 16:04:51 +02:00
Merge pull request #5832 from samcake/HMDLightingBug
Fix the lighting issue when the Rear View mirror is enabled
This commit is contained in:
commit
3deaa68b7b
2 changed files with 17 additions and 9 deletions
|
@ -160,15 +160,22 @@ typedef std::vector< BufferPointer > Buffers;
|
||||||
|
|
||||||
|
|
||||||
class BufferView {
|
class BufferView {
|
||||||
|
protected:
|
||||||
|
void initFromBuffer(const BufferPointer& buffer) {
|
||||||
|
_buffer = (buffer);
|
||||||
|
if (_buffer) {
|
||||||
|
_size = (buffer->getSize());
|
||||||
|
}
|
||||||
|
}
|
||||||
public:
|
public:
|
||||||
typedef Resource::Size Size;
|
typedef Resource::Size Size;
|
||||||
typedef int Index;
|
typedef int Index;
|
||||||
|
|
||||||
BufferPointer _buffer;
|
BufferPointer _buffer;
|
||||||
Size _offset;
|
Size _offset{ 0 };
|
||||||
Size _size;
|
Size _size{ 0 };
|
||||||
Element _element;
|
Element _element;
|
||||||
uint16 _stride;
|
uint16 _stride{ 1 };
|
||||||
|
|
||||||
BufferView() :
|
BufferView() :
|
||||||
_buffer(NULL),
|
_buffer(NULL),
|
||||||
|
@ -188,19 +195,19 @@ public:
|
||||||
|
|
||||||
// create the BufferView and own the Buffer
|
// create the BufferView and own the Buffer
|
||||||
BufferView(Buffer* newBuffer, const Element& element = Element(gpu::SCALAR, gpu::UINT8, gpu::RAW)) :
|
BufferView(Buffer* newBuffer, const Element& element = Element(gpu::SCALAR, gpu::UINT8, gpu::RAW)) :
|
||||||
_buffer(newBuffer),
|
|
||||||
_offset(0),
|
_offset(0),
|
||||||
_size(newBuffer->getSize()),
|
|
||||||
_element(element),
|
_element(element),
|
||||||
_stride(uint16(element.getSize()))
|
_stride(uint16(element.getSize()))
|
||||||
{};
|
{
|
||||||
|
initFromBuffer(BufferPointer(newBuffer));
|
||||||
|
};
|
||||||
BufferView(const BufferPointer& buffer, const Element& element = Element(gpu::SCALAR, gpu::UINT8, gpu::RAW)) :
|
BufferView(const BufferPointer& buffer, const Element& element = Element(gpu::SCALAR, gpu::UINT8, gpu::RAW)) :
|
||||||
_buffer(buffer),
|
|
||||||
_offset(0),
|
_offset(0),
|
||||||
_size(buffer->getSize()),
|
|
||||||
_element(element),
|
_element(element),
|
||||||
_stride(uint16(element.getSize()))
|
_stride(uint16(element.getSize()))
|
||||||
{};
|
{
|
||||||
|
initFromBuffer(buffer);
|
||||||
|
};
|
||||||
BufferView(const BufferPointer& buffer, Size offset, Size size, const Element& element = Element(gpu::SCALAR, gpu::UINT8, gpu::RAW)) :
|
BufferView(const BufferPointer& buffer, Size offset, Size size, const Element& element = Element(gpu::SCALAR, gpu::UINT8, gpu::RAW)) :
|
||||||
_buffer(buffer),
|
_buffer(buffer),
|
||||||
_offset(offset),
|
_offset(offset),
|
||||||
|
|
|
@ -582,6 +582,7 @@ void DeferredLightingEffect::render(RenderArgs* args) {
|
||||||
batch.setResourceTexture(1, nullptr);
|
batch.setResourceTexture(1, nullptr);
|
||||||
batch.setResourceTexture(2, nullptr);
|
batch.setResourceTexture(2, nullptr);
|
||||||
batch.setResourceTexture(3, nullptr);
|
batch.setResourceTexture(3, nullptr);
|
||||||
|
batch.setUniformBuffer(_directionalLightLocations->deferredTransformBuffer, nullptr);
|
||||||
|
|
||||||
args->_context->render(batch);
|
args->_context->render(batch);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue