Simple mesh import That was just for testing rendering & occlusion I use DirectGUI for the gui
Update
- Directional Light shadows (no PSSM yet)
- Global Illumination! (very experimental)
Update:
- Iâve ported the Roaming Ralph sample to my pipeline. However, sorry, but the model is really bad, which is why the result doesnât look very good. I replaced the textures, but didnât alter the geometry:
Nevertheless, that looks very good: even with the dodgy models, thereâs an impressive sense of solidity to the scene (with the result that those trees look somewhat like papercraft).
By the way, in your âlighting onlyâ screenshot, I note what looks like inaccurate shading at the base of the nearest column on the viewerâs leftâalthough I confess that Iâm no expert in this, and so I may well be mistaken in my understanding of what Iâm seeing.
Yeah, youâre absolutely right, thatâs because Iâm working with a voxel grid, and the resolution is limited ⌠however, Iâm working on that
Update
- Iâve changed the GI to voxel cone tracing, this allows me cheap ao and reflections
- VIDEO: https://www.youtube.com/watch?v=dHBLPNNjkrg
- Notice this is an early beta!
Update
- More GI screenshots
- Another GI Improvement, the GI is now somewhat stable, and I have ~65 FPS with all features enabled. Iâll see If I can get even more fps with some tweaking âŚ
Just wanted to express my admiration. Excellent work!
Unfortunately at now I can seen only screenshots. A little later Iâll try run it on the discrete video.
btw, Ithink It would be great if you include scene with different materials in the first sample.
Excellent work on this project.
- spencer
Awesome project! What version of Panda can I use to run it?
Thank you all!
You mean a showcase scene where different materials are shown?
You need to get a developement version from https://github.com/panda3d/panda3d and compile it Alternative there are some buildbot-versions iirc.
Update:
- PCSS Shadows with variable shadow penumbra (Tried VSM, too, but PCSS is way better)
- PSSM Shadowmaping with up to 6 split planes
- Smaller fixes
Screenshots will follow soon as usual!
Exactly. And include this scene to the git repo - in this case different people can try to run same scene on the different hardware and say where it work and where - not.
This look amazing and I would like to try out the examples but all I get is:
$ python2 main.py
Traceback (most recent call last):
File "main.py", line 30, in <module>
from Code.RenderingPipeline import RenderingPipeline
File "/home/qubodup/src/git/RenderPipeline/Code/RenderingPipeline.py", line 7, in <module>
from panda3d.core import PTAFloat, PTALMatrix4f, UnalignedLMatrix4f, LVecBase2i
ImportError: cannot import name LVecBase2i
You need a Panda 1.9 build to run this. It will be released within a few days.
You may try a snapshot build from here:
buildbot.panda3d.org/downloads/b ⌠d0380ce17/
Hi,
New to Panda and RenderPipeline
Thx for the hard work!
Got the most recent Panda3D git built to x64. ⌠after 7 hrs!
AMD 6350 CPU, Win8.1, GPU AMD Radeon HD 7700
Got Roaming Ralph w/RenderPipeline running after adding parens to geometry.glsl.
Getting around 20-25 fps with everything checked.
Had an error in shader geometry.glsl âŚ
:display:gsg:glgsg(error): An error occurred while compiling GLSL shader DefaultShadowCaster/geometry.glsl:
Geometry shader failed to compile with the following errors:
ERROR: DefaultShadowCaster/geometry.glsl:24: error(#162) Wrong operand types: no operation â<â exists that takes a left-hand operand of type âhighp intâ and a right operand of type âvoidâ (or there is no acceptable conversion)
ERROR: error(#273) 1 compilation errors. No code generated
//from geometry.glsl Had errors due to missing parens for the function in the for loop for gl_in.length()
#version 410
#pragma optionNV (unroll all)
#pragma include âIncludes/Configuration.includeâ
#pragma include âIncludes/ShadowSource.includeâ
#pragma include âIncludes/ParabolicTransform.includeâ
uniform mat4 p3d_ModelViewProjectionMatrix;
layout(triangles) in;
layout(triangle_strip, max_vertices=SHADOW_GEOMETRY_MAX_VERTICES) out;
uniform int numUpdates;
uniform ShadowSource updateSources[SHADOW_MAX_UPDATES_PER_FRAME];
in vec2 vtxTexcoord[3];
out vec2 texcoord;
void main() {
for (int pass = 0; pass < numUpdates; pass ++) {
ShadowSource currentSource = updateSources[pass];
gl_ViewportIndex = pass + 1;
//for(int i=0; i<gl_in.length; i++) //original, errors here with gl_in.length
for(int i=0; i<gl_in.length(); i++) // working
{
gl_Position = currentSource.mvp * gl_in[i].gl_Position;
texcoord = vtxTexcoord[i];
EmitVertex();
}
EndPrimitive();
}
}
Thanks again.
Cheers
Unfortunately I canât run it with panda 1.9 on Arch Linux.
:display:gsg:glgsg(error): 0:1(10): error: GLSL 4.10 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
:display:gsg:glgsg(error): An error occurred while compiling GLSL shader Scattering/DefaultVertex.vertex:
0:1(10): error: GLSL 4.10 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
:display:gsg:glgsg(error): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
:display:gsg:glgsg(error): An error occurred while compiling GLSL shader Scattering/Transmittance.fragment:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
:shader(warning): Ignoring unknown pragma directive "file" at line 2 of file Scattering/Irradiance1.fragment:
#pragma file "Irradiance1.fragment"
:display:gsg:glgsg(error): 0:1(10): error: GLSL 4.10 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
:display:gsg:glgsg(error): An error occurred while compiling GLSL shader Scattering/DefaultVertex.vertex:
0:1(10): error: GLSL 4.10 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
:display:gsg:glgsg(error): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
:display:gsg:glgsg(error): An error occurred while compiling GLSL shader Scattering/Irradiance1.fragment:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES
:display(warning): add_render_texture: RTM_bind_layered was requested but geometry shaders are not supported!
:display(warning): add_render_texture: RTM_bind_layered was requested but geometry shaders are not supported!
:shader(warning): Ignoring unknown pragma directive "file" at line 2 of file Scattering/Inscatter1.fragment:
#pragma file "Inscatter1.fragment"
Full output: codepad.org/be7Mt0Dd
I use open source AMD drivers with an HD 7750.
This might be related: github.com/RobertBeckebans/RBDO ⌠issues/137
Thatâs because the open-source drivers are horribly outdated. You should get the binary AMD drivers in order to use any OpenGL feature from the last 6 years.
After some time passed, hereâs the next update
Update
- Experimental support for transparency (Order independent transparency)
- Screenshots will follow
- Temporal occlusion (Sao and Hbao), allowing much better quality at better performance
Video: https://www.youtube.com/watch?v=zEN8u5mH9ew (thanks to qubodup! )
I finally got Catalyst on my Arch box and it wasnât as hard as I was afraid it would be!
My computer is weak, so these 720p recordings are quite low fpsâŚ
Couch: youtube.com/watch?v=zEN8u5mH9ew
PSSM: youtube.com/watch?v=EfFwFptsbMU
Cornel Box: youtube.com/watch?v=w3wLRm0Z5EI
House Set: youtube.com/watch?v=Wtd5ikSibxA
Sponza: youtube.com/watch?v=bUq77miOnhE
Thanks for all the help on #panda3d to tobspr and rdb!
Update
- I started to port my terrain to the pipeline, you can see first results in the Terrain section!
- Various smaller changes like support for IES Profiles
- Added various screenshots for the different features