mirror of
https://github.com/Armored-Dragon/overte.git
synced 2025-03-11 16:13:16 +01:00
Fixed draw frustum and draw aabb code
This commit is contained in:
parent
cb24046eea
commit
92e64510ec
4 changed files with 12 additions and 7 deletions
|
@ -18,8 +18,6 @@
|
|||
|
||||
layout(location = 0) in vec4 inPosition;
|
||||
|
||||
out vec3 varWorldPos;
|
||||
|
||||
void main(void) {
|
||||
// standard transform
|
||||
TransformCamera cam = getTransformCamera();
|
||||
|
|
|
@ -246,7 +246,7 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren
|
|||
task.addJob<DrawBounds>("DrawZones", zones);
|
||||
const auto frustums = task.addJob<ExtractFrustums>("ExtractFrustums");
|
||||
const auto viewFrustum = frustums.getN<ExtractFrustums::Output>(ExtractFrustums::VIEW_FRUSTUM);
|
||||
task.addJob<DrawFrustum>("DrawViewFrustum", viewFrustum, glm::vec3(1.0f, 1.0f, 0.0f));
|
||||
task.addJob<DrawFrustum>("DrawViewFrustum", viewFrustum, glm::vec3(0.0f, 1.0f, 0.0f));
|
||||
for (auto i = 0; i < ExtractFrustums::SHADOW_CASCADE_FRUSTUM_COUNT; i++) {
|
||||
const auto shadowFrustum = frustums.getN<ExtractFrustums::Output>(ExtractFrustums::SHADOW_CASCADE0_FRUSTUM + i);
|
||||
float tint = 1.0f - i / float(ExtractFrustums::SHADOW_CASCADE_FRUSTUM_COUNT - 1);
|
||||
|
|
|
@ -220,10 +220,15 @@ void DrawBounds::run(const RenderContextPointer& renderContext,
|
|||
});
|
||||
}
|
||||
|
||||
gpu::Stream::FormatPointer DrawQuadVolume::_format;
|
||||
|
||||
DrawQuadVolume::DrawQuadVolume(const glm::vec3& color) :
|
||||
_color{ color } {
|
||||
_meshVertices = gpu::BufferView(std::make_shared<gpu::Buffer>(sizeof(glm::vec3) * 8, nullptr), gpu::Element::VEC3F_XYZ);
|
||||
_meshStream.addBuffer(_meshVertices._buffer, _meshVertices._offset, _meshVertices._stride);
|
||||
if (!_format) {
|
||||
_format = std::make_shared<gpu::Stream::Format>();
|
||||
_format->setAttribute(gpu::Stream::POSITION, gpu::Stream::POSITION, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ), 0);
|
||||
}
|
||||
}
|
||||
|
||||
void DrawQuadVolume::configure(const Config& configuration) {
|
||||
|
@ -253,10 +258,11 @@ void DrawQuadVolume::run(const render::RenderContextPointer& renderContext, cons
|
|||
batch.setProjectionTransform(projMat);
|
||||
batch.setViewTransform(viewMat);
|
||||
batch.setPipeline(getPipeline());
|
||||
batch.setIndexBuffer(indices);
|
||||
|
||||
batch._glUniform4f(0, _color.x, _color.y, _color.z, 1.0f);
|
||||
batch.setInputStream(0, _meshStream);
|
||||
batch.setInputFormat(_format);
|
||||
batch.setInputBuffer(gpu::Stream::POSITION, _meshVertices);
|
||||
batch.setIndexBuffer(indices);
|
||||
batch.drawIndexed(gpu::LINES, indexCount, 0U);
|
||||
|
||||
args->_batch = nullptr;
|
||||
|
|
|
@ -97,10 +97,11 @@ protected:
|
|||
const gpu::BufferView& indices, int indexCount);
|
||||
|
||||
gpu::BufferView _meshVertices;
|
||||
gpu::BufferStream _meshStream;
|
||||
glm::vec3 _color;
|
||||
bool _isUpdateEnabled{ true };
|
||||
|
||||
static gpu::Stream::FormatPointer _format;
|
||||
|
||||
static gpu::PipelinePointer getPipeline();
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue