mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 08:56:25 +02:00
adjusted the PLumber shape keys to coever non material shapes in main pass
This commit is contained in:
parent
9ffdc03dc9
commit
a53d5e8fbd
12 changed files with 23 additions and 19 deletions
|
@ -263,7 +263,7 @@ void Circle3DOverlay::render(RenderArgs* args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const render::ShapeKey Circle3DOverlay::getShapeKey() {
|
const render::ShapeKey Circle3DOverlay::getShapeKey() {
|
||||||
auto builder = render::ShapeKey::Builder().withoutCullFace().withUnlit().withOwnPipeline();
|
auto builder = render::ShapeKey::Builder().withoutCullFace().withUnlit();
|
||||||
if (getAlpha() != 1.0f) {
|
if (getAlpha() != 1.0f) {
|
||||||
builder.withTranslucent();
|
builder.withTranslucent();
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@ void Cube3DOverlay::render(RenderArgs* args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const render::ShapeKey Cube3DOverlay::getShapeKey() {
|
const render::ShapeKey Cube3DOverlay::getShapeKey() {
|
||||||
auto builder = render::ShapeKey::Builder().withOwnPipeline();
|
auto builder = render::ShapeKey::Builder();
|
||||||
if (getAlpha() != 1.0f) {
|
if (getAlpha() != 1.0f) {
|
||||||
builder.withTranslucent();
|
builder.withTranslucent();
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@ void Image3DOverlay::render(RenderArgs* args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const render::ShapeKey Image3DOverlay::getShapeKey() {
|
const render::ShapeKey Image3DOverlay::getShapeKey() {
|
||||||
auto builder = render::ShapeKey::Builder().withoutCullFace().withDepthBias().withOwnPipeline();
|
auto builder = render::ShapeKey::Builder().withoutCullFace().withDepthBias();
|
||||||
if (_emissive) {
|
if (_emissive) {
|
||||||
builder.withUnlit();
|
builder.withUnlit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ void Shape3DOverlay::render(RenderArgs* args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const render::ShapeKey Shape3DOverlay::getShapeKey() {
|
const render::ShapeKey Shape3DOverlay::getShapeKey() {
|
||||||
auto builder = render::ShapeKey::Builder().withOwnPipeline();
|
auto builder = render::ShapeKey::Builder();
|
||||||
if (getAlpha() != 1.0f) {
|
if (getAlpha() != 1.0f) {
|
||||||
builder.withTranslucent();
|
builder.withTranslucent();
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ void Sphere3DOverlay::render(RenderArgs* args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const render::ShapeKey Sphere3DOverlay::getShapeKey() {
|
const render::ShapeKey Sphere3DOverlay::getShapeKey() {
|
||||||
auto builder = render::ShapeKey::Builder().withOwnPipeline();
|
auto builder = render::ShapeKey::Builder();
|
||||||
if (getAlpha() != 1.0f) {
|
if (getAlpha() != 1.0f) {
|
||||||
builder.withTranslucent();
|
builder.withTranslucent();
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,7 +132,7 @@ void Text3DOverlay::render(RenderArgs* args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const render::ShapeKey Text3DOverlay::getShapeKey() {
|
const render::ShapeKey Text3DOverlay::getShapeKey() {
|
||||||
auto builder = render::ShapeKey::Builder().withOwnPipeline();
|
auto builder = render::ShapeKey::Builder();
|
||||||
if (getAlpha() != 1.0f) {
|
if (getAlpha() != 1.0f) {
|
||||||
builder.withTranslucent();
|
builder.withTranslucent();
|
||||||
}
|
}
|
||||||
|
|
|
@ -275,7 +275,7 @@ void Web3DOverlay::render(RenderArgs* args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const render::ShapeKey Web3DOverlay::getShapeKey() {
|
const render::ShapeKey Web3DOverlay::getShapeKey() {
|
||||||
auto builder = render::ShapeKey::Builder().withoutCullFace().withDepthBias().withOwnPipeline();
|
auto builder = render::ShapeKey::Builder().withoutCullFace().withDepthBias();
|
||||||
if (getAlpha() != 1.0f) {
|
if (getAlpha() != 1.0f) {
|
||||||
builder.withTranslucent();
|
builder.withTranslucent();
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,8 +118,8 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
mutable quint64 _fadeStartTime { 0 };
|
mutable quint64 _fadeStartTime { 0 };
|
||||||
//mutable uint8_t _fadeState { FADE_WAITING_TO_START };
|
mutable uint8_t _fadeState { FADE_WAITING_TO_START };
|
||||||
mutable uint8_t _fadeState { FADE_COMPLETE };
|
// mutable uint8_t _fadeState { FADE_COMPLETE };
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace render {
|
namespace render {
|
||||||
|
|
|
@ -75,7 +75,6 @@ RenderDeferredTask::RenderDeferredTask(RenderFetchCullSortTask::Output items) {
|
||||||
// GPU jobs: Start preparing the primary, deferred and lighting buffer
|
// GPU jobs: Start preparing the primary, deferred and lighting buffer
|
||||||
const auto primaryFramebuffer = addJob<PreparePrimaryFramebuffer>("PreparePrimaryBuffer");
|
const auto primaryFramebuffer = addJob<PreparePrimaryFramebuffer>("PreparePrimaryBuffer");
|
||||||
|
|
||||||
// const auto fullFrameRangeTimer = addJob<BeginGPURangeTimer>("BeginRangeTimer");
|
|
||||||
const auto opaqueRangeTimer = addJob<BeginGPURangeTimer>("BeginOpaqueRangeTimer", "DrawOpaques");
|
const auto opaqueRangeTimer = addJob<BeginGPURangeTimer>("BeginOpaqueRangeTimer", "DrawOpaques");
|
||||||
|
|
||||||
const auto prepareDeferredInputs = PrepareDeferred::Inputs(primaryFramebuffer, lightingModel).hasVarying();
|
const auto prepareDeferredInputs = PrepareDeferred::Inputs(primaryFramebuffer, lightingModel).hasVarying();
|
||||||
|
@ -167,6 +166,8 @@ RenderDeferredTask::RenderDeferredTask(RenderFetchCullSortTask::Output items) {
|
||||||
|
|
||||||
// Bounds do not draw on stencil buffer, so they must come last
|
// Bounds do not draw on stencil buffer, so they must come last
|
||||||
addJob<DrawBounds>("DrawMetaBounds", metas);
|
addJob<DrawBounds>("DrawMetaBounds", metas);
|
||||||
|
addJob<DrawBounds>("DrawOverlaysOpaques", overlayOpaques);
|
||||||
|
addJob<DrawBounds>("DrawOverlaysTransparents", overlayTransparents);
|
||||||
|
|
||||||
// Debugging Deferred buffer job
|
// Debugging Deferred buffer job
|
||||||
const auto debugFramebuffers = render::Varying(DebugDeferredBuffer::Inputs(deferredFramebuffer, linearDepthTarget, surfaceGeometryFramebuffer, ambientOcclusionFramebuffer));
|
const auto debugFramebuffers = render::Varying(DebugDeferredBuffer::Inputs(deferredFramebuffer, linearDepthTarget, surfaceGeometryFramebuffer, ambientOcclusionFramebuffer));
|
||||||
|
@ -207,9 +208,6 @@ RenderDeferredTask::RenderDeferredTask(RenderFetchCullSortTask::Output items) {
|
||||||
|
|
||||||
// Blit!
|
// Blit!
|
||||||
addJob<Blit>("Blit", primaryFramebuffer);
|
addJob<Blit>("Blit", primaryFramebuffer);
|
||||||
|
|
||||||
// addJob<EndGPURangeTimer>("RangeTimer", fullFrameRangeTimer);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BeginGPURangeTimer::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext, gpu::RangeTimerPointer& timer) {
|
void BeginGPURangeTimer::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext, gpu::RangeTimerPointer& timer) {
|
||||||
|
|
|
@ -156,6 +156,9 @@ void initDeferredPipelines(render::ShapePlumber& plumber) {
|
||||||
addPipeline(
|
addPipeline(
|
||||||
Key::Builder().withMaterial().withUnlit(),
|
Key::Builder().withMaterial().withUnlit(),
|
||||||
modelVertex, modelUnlitPixel);
|
modelVertex, modelUnlitPixel);
|
||||||
|
addPipeline(
|
||||||
|
Key::Builder().withUnlit(),
|
||||||
|
modelVertex, modelUnlitPixel);
|
||||||
addPipeline(
|
addPipeline(
|
||||||
Key::Builder().withMaterial().withTangents(),
|
Key::Builder().withMaterial().withTangents(),
|
||||||
modelNormalMapVertex, modelNormalMapPixel);
|
modelNormalMapVertex, modelNormalMapPixel);
|
||||||
|
@ -169,9 +172,15 @@ void initDeferredPipelines(render::ShapePlumber& plumber) {
|
||||||
addPipeline(
|
addPipeline(
|
||||||
Key::Builder().withMaterial().withTranslucent(),
|
Key::Builder().withMaterial().withTranslucent(),
|
||||||
modelVertex, modelTranslucentPixel);
|
modelVertex, modelTranslucentPixel);
|
||||||
|
addPipeline(
|
||||||
|
Key::Builder().withTranslucent(),
|
||||||
|
modelVertex, modelTranslucentPixel);
|
||||||
addPipeline(
|
addPipeline(
|
||||||
Key::Builder().withMaterial().withTranslucent().withUnlit(),
|
Key::Builder().withMaterial().withTranslucent().withUnlit(),
|
||||||
modelVertex, modelTranslucentUnlitPixel);
|
modelVertex, modelTranslucentUnlitPixel);
|
||||||
|
addPipeline(
|
||||||
|
Key::Builder().withTranslucent().withUnlit(),
|
||||||
|
modelVertex, modelTranslucentUnlitPixel);
|
||||||
addPipeline(
|
addPipeline(
|
||||||
Key::Builder().withMaterial().withTranslucent().withTangents(),
|
Key::Builder().withMaterial().withTranslucent().withTangents(),
|
||||||
modelNormalMapVertex, modelTranslucentPixel);
|
modelNormalMapVertex, modelTranslucentPixel);
|
||||||
|
|
|
@ -114,9 +114,9 @@ void main(void) {
|
||||||
color.rgb += emissive;
|
color.rgb += emissive;
|
||||||
color.rgb += vec3(1, 0.0, 0.0);
|
color.rgb += vec3(1, 0.0, 0.0);
|
||||||
// Apply standard tone mapping
|
// Apply standard tone mapping
|
||||||
// _fragColor = vec4(pow(color.xyz, vec3(1.0 / 2.2)), 1.0);
|
_fragColor = vec4(pow(color.xyz, vec3(1.0 / 2.2)), 1.0);
|
||||||
_fragColor = vec4(albedo, 0.5);
|
//_fragColor = vec4(albedo, 0.5);
|
||||||
//_fragColor = vec4(pow(color.xyz, vec3(1.0 / 2.2)), color.w);
|
// _fragColor = vec4(pow(color.xyz, vec3(1.0 / 2.2)), color.w);
|
||||||
|
|
||||||
/*_fragColor = vec4(evalGlobalLightingAlphaBlended(
|
/*_fragColor = vec4(evalGlobalLightingAlphaBlended(
|
||||||
cam._viewInverse,
|
cam._viewInverse,
|
||||||
|
|
|
@ -82,9 +82,6 @@ void main(void) {
|
||||||
fragRoughness,
|
fragRoughness,
|
||||||
fragOpacity);
|
fragOpacity);
|
||||||
|
|
||||||
// color.xyz += vec3(0.0, 1.0, 0.0) * fragOpacity;
|
|
||||||
// color.w = 1.0;
|
|
||||||
|
|
||||||
// Apply standard tone mapping
|
// Apply standard tone mapping
|
||||||
_fragColor = vec4(pow(color.xyz, vec3(1.0 / 2.2)), color.w);
|
_fragColor = vec4(pow(color.xyz, vec3(1.0 / 2.2)), color.w);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue