Skip to content

Commit d27d5d7

Browse files
committed
[dataflow-rendering] allow using rendering node in any order
1 parent 974aec1 commit d27d5d7

6 files changed

Lines changed: 12 additions & 10 deletions

File tree

src/Dataflow/Rendering/Nodes/RenderNodes/ClearColorNode.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,12 @@ bool ClearColorNode::execute() {
6262
gl::glDepthMask( gl::GL_FALSE );
6363
gl::glColorMask( gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE );
6464
gl::glDisable( gl::GL_DEPTH_TEST );
65-
envmap->render( m_portInCamera->getData() );
65+
envmap->render( m_portInCamera->getData(), false );
6666
gl::glDepthMask( gl::GL_TRUE );
6767
gl::glEnable( gl::GL_DEPTH_TEST );
6868
}
6969
else {
70+
clearColor[3] = 0_ra;
7071
gl::glClearBufferfv( gl::GL_COLOR, 0, clearColor );
7172
}
7273

@@ -76,15 +77,15 @@ bool ClearColorNode::execute() {
7677
}
7778

7879
void ClearColorNode::toJsonInternal( nlohmann::json& data ) const {
79-
auto c = ColorType ::linearRGBTosRGB( m_editableClearColor );
80+
auto c = ColorType::linearRGBTosRGB( m_editableClearColor );
8081
std::array<Scalar, 3> color { { c.x(), c.y(), c.z() } };
8182
data["clearColor"] = color;
8283
}
8384

8485
bool ClearColorNode::fromJsonInternal( const nlohmann::json& data ) {
8586
if ( data.contains( "clearColor" ) ) {
8687
std::array<Scalar, 3> c = data["clearColor"];
87-
m_editableClearColor = ColorType ::sRGBToLinearRGB( ColorType( c[0], c[1], c[2] ) );
88+
m_editableClearColor = ColorType::sRGBToLinearRGB( ColorType( c[0], c[1], c[2] ) );
8889
}
8990
else {
9091
m_editableClearColor =

src/Dataflow/Rendering/Nodes/RenderNodes/EmissivityRenderNode.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ void EmissivityNode::init() {
5050
m_nodeState->depthFunc( gl::GL_LEQUAL );
5151
m_nodeState->depthMask( gl::GL_FALSE );
5252
m_nodeState->colorMask( gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE );
53-
m_nodeState->disable( gl::GL_BLEND );
53+
m_nodeState->blendFuncSeparate( gl::GL_ONE, gl::GL_DST_ALPHA, gl::GL_ONE, gl::GL_ZERO );
54+
m_nodeState->enable( gl::GL_BLEND );
5455
}
5556

5657
void EmissivityNode::destroy() {

src/Dataflow/Rendering/Nodes/RenderNodes/EnvironmentLightingNode.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ void EnvironmentLightingNode::init() {
5454
m_nodeState->depthFunc( gl::GL_LEQUAL );
5555
m_nodeState->depthMask( gl::GL_FALSE );
5656
m_nodeState->colorMask( gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE );
57-
m_nodeState->blendFunc( gl::GL_ONE, gl::GL_ONE );
57+
// m_nodeState->blendFunc( gl::GL_ONE, gl::GL_DST_ALPHA );
58+
m_nodeState->blendFuncSeparate( gl::GL_ONE, gl::GL_DST_ALPHA, gl::GL_ONE, gl::GL_ZERO );
5859
m_nodeState->enable( gl::GL_BLEND );
5960
}
6061

src/Dataflow/Rendering/Nodes/RenderNodes/GeometryAovsNode.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ GeometryAovsNode::GeometryAovsNode( const std::string& name ) :
4343
m_depthTexture = new Ra::Engine::Data::Texture( texParams );
4444

4545
addOutput( m_outDepthTex, m_depthTexture );
46-
addOutput( m_outPosInWorldTex, m_posInWorldTexture );
4746
addOutput( m_outNormalInWorldTex, m_normalInWorldTexture );
47+
addOutput( m_outPosInWorldTex, m_posInWorldTexture );
4848
}
4949

5050
void GeometryAovsNode::init() {

src/Dataflow/Rendering/Nodes/RenderNodes/LocalLightingNode.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void LocalLightingNode::init() {
5353
m_nodeState->depthFunc( gl::GL_LEQUAL );
5454
m_nodeState->depthMask( gl::GL_FALSE );
5555
m_nodeState->colorMask( gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE );
56-
m_nodeState->blendFunc( gl::GL_ONE, gl::GL_ONE );
56+
m_nodeState->blendFuncSeparate( gl::GL_ONE, gl::GL_DST_ALPHA, gl::GL_ONE, gl::GL_ZERO );
5757
m_nodeState->enable( gl::GL_BLEND );
5858
}
5959

src/Dataflow/Rendering/Nodes/RenderNodes/SsaoRenderNode.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@ namespace Nodes {
1515
using namespace Ra::Engine::Data;
1616

1717
SsaoNode::SsaoNode( const std::string& name ) : RenderingNode( name, getTypename() ) {
18-
addInput( m_inWorldPos );
19-
m_inWorldPos->mustBeLinked();
2018

2119
addInput( m_inWorldNormal );
2220
m_inWorldNormal->mustBeLinked();
23-
21+
addInput( m_inWorldPos );
22+
m_inWorldPos->mustBeLinked();
2423
addInput( m_inCamera );
2524
m_inCamera->mustBeLinked();
2625

0 commit comments

Comments
 (0)