Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global illumination VCT & CI VCT #675

Merged

Conversation

darksylinc
Copy link
Contributor

@darksylinc darksylinc commented Jul 18, 2022

🦟 Bug fix

Fixes #435

Summary

This PR adds Real Time Global Illumination based on one of these two techniques:

  1. VCT (Voxel Cone Tracing)
  2. CI VCT (Cascaded Image Voxel Cone Tracing)

VCT can be more accurate but likes static objects (static objects can bounce GI, while dynamic objects can only receive).

CI VCT can be less accurate, but it is much faster dealing with objects and deal with very large scenes (and adapt more easily to any of them) and even though it prefers static objects, you can force all objects to bounce GI and it may just work. CI VCT is still under development on the Ogre-Next side because real time global illumination is still an unsolved problem being actively (and heavily) researched on.

This PR needs Ogre 2.3 PR #553 to be merged first. At the moment Github is showing the changes from 2.3 PR + VCT PR which makes it look huge.

A sample showing how to use both techniques has been added.

New features

  • Adds GI VCT technique
  • Adds GI CIVCT technique
  • Only one of them can be active at any given time
  • Adds Visual::SetVisualStatic
    • This setting will probably need more development in the future so that Gazebo can specify staticness for each visual at creation time. Creating the object as dynamic and then switching it to static incurs a small overhead
  • Adds GI sample
  • Adds NativeWindow class for better interface with APIs when there is a need to display everything raw directly on screen (specially useful for examples).
  • GI sample uses SDL. Eventually all samples should be migrated to use SDL
    • Right now all other samples are using GLUT which is outdated and only supports OpenGL (not Vulkan or Metal)
    • The GLUT samples incur a large overhead because they perform a GPU -> CPU -> GPU copy
  • Attempts to load _d (debug Ogre plugins) in a DEBUG build configuration.
    • There is a pending discussion regarding of enabling/disabling DEBUG macro in a debug build
    • This will be much easier to support in OgreNext 3.0

Checklist

  • Signed all commits for DCO
  • Added tests
  • Updated documentation (as needed)
  • Updated migration guide (as needed)
  • Consider updating Python bindings (if the library has them)
  • codecheck passed (See contributing)
  • All tests passed (See test coverage)
  • While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

examples/global_illumination/GlutWindow.cc Outdated Show resolved Hide resolved
examples/global_illumination/GlutWindow.cc Outdated Show resolved Hide resolved
examples/global_illumination/GlutWindow.cc Outdated Show resolved Hide resolved
examples/global_illumination/GlutWindow.hh Outdated Show resolved Hide resolved
examples/global_illumination/Main.cc Outdated Show resolved Hide resolved
ogre2/include/gz/rendering/ogre2/Ogre2NativeWindow.hh Outdated Show resolved Hide resolved
Comment on lines +47 to +55
target_compile_definitions(${ogre2_target} PRIVATE $<$<CONFIG:Debug>:DEBUG=1 _DEBUG=1>)


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

force debug ? can we remove this ?

ogre2/src/Ogre2GlobalIlluminationVct.cc Outdated Show resolved Hide resolved
ogre2/src/Ogre2NativeWindow.cc Outdated Show resolved Hide resolved
Core development automation moved this from Inbox to In review Jul 18, 2022
@chapulina chapulina added the enhancement New feature or request label Jul 23, 2022
@darksylinc darksylinc force-pushed the matias-2.3-global-illumination-gz-renamed branch 2 times, most recently from 6562654 to b4430ec Compare July 23, 2022 23:33
@chapulina chapulina added the Breaking change Breaks API, ABI or behavior. Must target unstable version. label Jul 29, 2022
@darksylinc darksylinc force-pushed the matias-2.3-global-illumination-gz-renamed branch from b4430ec to 140bb27 Compare July 30, 2022 22:12
@darksylinc
Copy link
Contributor Author

Ahhhh!!! Finally!

Now that Ogre 2.3 PR has been merged, I rebased the changes to main

I see @ahcorde left some feedback already that I didn't see for some reason. I have to go through each one of them.

@darksylinc darksylinc force-pushed the matias-2.3-global-illumination-gz-renamed branch from b387b8b to be35564 Compare July 31, 2022 20:23
Copy link
Contributor

@iche033 iche033 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did a quick first pass. Examples work for me! I see reflections in the visuals:

gz_rendering_gi

Can you add some unit tests for the new Global Illumination classes?

*
*/
#ifndef IGNITION_RENDERING_EXAMPLES_OGRE2_DEMO_GLUTWINDOW_HH_
#define IGNITION_RENDERING_EXAMPLES_OGRE2_DEMO_GLUTWINDOW_HH_
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change to IGNITION to GZ and OGRE2_DEMO to GLOBAL_ILLUMINATION

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also saw that it's now SDL instead of GLUT. Update the filename?

#define IGNITION_RENDERING_EXAMPLES_OGRE2_DEMO_GLUTWINDOW_HH_

#include <vector>
#include "ignition/rendering/RenderTypes.hh"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ignition -> gz

#include <vector>
#include "ignition/rendering/RenderTypes.hh"

namespace ir = ignition::rendering;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ignition -> gz

examples/global_illumination/Main.cc Outdated Show resolved Hide resolved
light3->SetCastShadows(false);
root->AddChild(light3);

// spot light test
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can just remove the spot light test (spot lights and models here) for the GI demo.

SensorPtr sensor = scene->SensorByName("camera");
// get render pass system
CameraPtr camera = std::dynamic_pointer_cast<Camera>(sensor);
RenderPassSystemPtr rpSystem = engine->RenderPassSystem();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can probably also just remove the render pass systems here to focus the demo on GI.

/// will be updated. Thus if a single static object is constantly
/// changing, it will affect everything and the performance
/// profile will be as if all objects were dynamic.
/// \remark (INTERNAL) For implementations:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add a note to mention ogre2 here, ie. For ogre2 implementations

include/gz/rendering/Visual.hh Outdated Show resolved Hide resolved
/// rarely makes sense
/// Dynamic Scene Node + Static MovableObject = Invalid
/// \param[in] _static True if this visual should be made static
public: virtual void SetVisualStatic(bool _static) = 0;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about just calling this SetStatic since the function is part of the Visual class so implicitly it's implying that the function is setting a visual static?

@@ -118,6 +118,28 @@ namespace gz
/// \param[in] _visible True if this visual should be made visible
public: virtual void SetVisible(bool _visible) = 0;

/// \brief Tells Render Engine this Visual will be static (i.e.
/// won't move, rotate or scale)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add brief doc here on what happens when the node is static, e.g. subsequent calls to setting the node position / orientation won't have any effect?

From reading the ogre doc, it seems like the node position won't be updated until we explicitly request it ( by calling notifyStaticDirty?).

@darksylinc
Copy link
Contributor Author

Can you add some unit tests for the new Global Illumination classes?

I have no problem with that but I have to ask... is there something you have in mind? Like what / how should I test?

@chapulina chapulina removed the 🌱 garden Ignition Garden label Aug 5, 2022
@chapulina
Copy link
Contributor

Removed the Garden label because we're past feature freeze ❄️ .

This PR can either be merged into main and backported to gz-rendering7 after the stable release, or retargeted to gz-rendering7 and merged after the stable release (i.e. October).

@darksylinc
Copy link
Contributor Author

Removed the Garden label because we're past feature freeze

That's fine. I received an email from Ian about this news and I agree.

It otherwise feels too rushed. It's a lot of changes that could use feedback, testing, etc

@iche033
Copy link
Contributor

iche033 commented Aug 8, 2022

Can you add some unit tests for the new Global Illumination classes?

I have no problem with that but I have to ask... is there something you have in mind? Like what / how should I test?

I'm thinking of simple unit tests for testing the GI APIs. For example:

  auto gi = _scene->CreateGlobalIlluminationVct();
  const uint32_t resolution[3]{ 128u, 128u, 32u };
  const uint32_t octantCount[3]{ 4, 4, 2 };
  gi->SetResolution(resolution);
  gi->SetAnisotropic(true);
  gi->SetHighQuality(false);
  gi->SetThinWallCounter(1.0f);
  gi->SetOctantCount(octantCount);
  gi->SetAnisotropic(false);
  gi->Build();

Just add checks to make sure the values are set correctly

  EXPECT_EQ(128u, gi->Resolution()[0]);
  EXPECT_EQ(128u, gi->Resolution()[1]);
  EXPECT_EQ(32u, gi->Resolution()[2]);
  EXPECT_TRUE(gi->Anisotropic());
  ...

@azeey
Copy link
Contributor

azeey commented Nov 14, 2022

waiting on version bumps

@iche033 iche033 force-pushed the matias-2.3-global-illumination-gz-renamed branch from d531640 to 19bb3ea Compare December 21, 2022 18:35
It uses a script now.
Textures are passed via the Compositor or else Ogre cannot setup proper
layout transitions for Vulkan for these textures
Fix INTEGRATION_gpu_rays under Vulkan

Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
It uses a script now.
Textures are passed via the Compositor or else Ogre cannot setup proper
layout transitions for Vulkan for these textures
Fix INTEGRATION_gpu_rays under Vulkan

Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Add VCT required compute shaders

Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Anisotropic VCT wasn't always taking effect
Disable setAllowMultipleBounces on SetBounceCount(0)

Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Add SetDebugVisualization
Add Visual::SetVisualStatic
Update to latest VCT shaders from upstream (needs updating Ogre 2.2 to
latest version for them to work)

Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Use d key to toggle debug visualization

Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Ign -> gz naming changes

Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
@iche033 iche033 force-pushed the matias-2.3-global-illumination-gz-renamed branch from 19bb3ea to b831b35 Compare December 21, 2022 18:36
…o, ign->gz

Signed-off-by: Ian Chen <ichen@osrfoundation.org>
@iche033
Copy link
Contributor

iche033 commented Dec 21, 2022

I addressed some of my comments in 1167ace. Changes include new unit tests, renamed ign -> gz, renamed SetStatic API, delete GI on scene destroy.

On thing I didn't fix is that I noticed the GI demo crashes on exit. I commented out the line causing the crash for now. We can come back to it later.

@darksylinc
Copy link
Contributor Author

  1. Thanks. I'm with high fever so I'm lying down.
  2. As for the crash, it's either an old OgreNext version, or it was already unloaded by the time it gets called

Signed-off-by: Ian Chen <ichen@osrfoundation.org>
@iche033
Copy link
Contributor

iche033 commented Dec 21, 2022

  1. Thanks. I'm with high fever so I'm lying down.
  2. As for the crash, it's either an old OgreNext version, or it was already unloaded by the time it gets called

Get some rest and take care! No hurry. Thanks for the tip. I'll look into it afterwards.

Signed-off-by: Ian Chen <ichen@osrfoundation.org>
@codecov
Copy link

codecov bot commented Dec 21, 2022

Codecov Report

Merging #675 (73d0760) into main (73a4ff4) will decrease coverage by 2.85%.
The diff coverage is 8.75%.

@@            Coverage Diff             @@
##             main     #675      +/-   ##
==========================================
- Coverage   76.47%   73.62%   -2.86%     
==========================================
  Files         168      177       +9     
  Lines       15289    15949     +660     
==========================================
+ Hits        11693    11743      +50     
- Misses       3596     4206     +610     
Impacted Files Coverage Δ
include/gz/rendering/GlobalIlluminationBase.hh 0.00% <0.00%> (ø)
include/gz/rendering/GlobalIlluminationCiVct.hh 0.00% <0.00%> (ø)
include/gz/rendering/GlobalIlluminationVct.hh 0.00% <0.00%> (ø)
include/gz/rendering/NativeWindow.hh 0.00% <0.00%> (ø)
include/gz/rendering/RenderEngine.hh 100.00% <ø> (ø)
include/gz/rendering/Scene.hh 0.00% <ø> (ø)
include/gz/rendering/Visual.hh 100.00% <ø> (ø)
...ude/gz/rendering/base/BaseGlobalIlluminationVct.hh 0.00% <0.00%> (ø)
include/gz/rendering/base/BaseNativeWindow.hh 0.00% <0.00%> (ø)
include/gz/rendering/base/BaseRenderEngine.hh 0.00% <0.00%> (ø)
... and 13 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Signed-off-by: Ian Chen <ichen@osrfoundation.org>
@iche033
Copy link
Contributor

iche033 commented Dec 22, 2022

  1. As for the crash, it's either an old OgreNext version, or it was already unloaded by the time it gets called

alright this should be fixed. Turns out it's just the exit call in the demo causing resources to not clean up properly. 73d0760.

@iche033 iche033 dismissed ahcorde’s stale review December 22, 2022 19:05

comments addressed.

@iche033 iche033 merged commit d59d0ee into gazebosim:main Dec 22, 2022
Core development automation moved this from In review to Done Dec 22, 2022
@iche033
Copy link
Contributor

iche033 commented Dec 22, 2022

While testing the GI gui plugins in gazebosim/gz-sim#1597, I ran into a crash with GI CiVct. I'm able to reproduce it using with the global_illumination example after changing the GI_METHOD value to something other than 1

here's the backtrace:

backtrace
Thread 1 "global_illumina" received signal SIGSEGV, Segmentation fault.
0x00007ffff1edd966 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
(gdb) bt
#0  0x00007ffff1edd966 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#1  0x00007ffff1edda50 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#2  0x00007ffff1efc79e in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#3  0x00007ffff1e9a6ca in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#4  0x00007ffff1edcafa in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#5  0x00007ffff1e9aadd in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#6  0x00007ffff1eed245 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#7  0x00007ffff1f3185c in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#8  0x00007ffff1e90b39 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#9  0x00007ffff1e94941 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#10 0x00007ffff28883e8 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#11 0x00007ffff2892f00 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.510.85.02
#12 0x00007ffff1035b0a in Ogre::GLSLShader::compile(bool) () from /usr/lib/x86_64-linux-gnu/OGRE-2.3/OGRE/RenderSystem_GL3Plus.so
#13 0x00007ffff102945e in Ogre::GLSLMonolithicProgram::compileAndLink() () from /usr/lib/x86_64-linux-gnu/OGRE-2.3/OGRE/RenderSystem_GL3Plus.so
#14 0x00007ffff1029b1b in Ogre::GLSLMonolithicProgram::activate() () from /usr/lib/x86_64-linux-gnu/OGRE-2.3/OGRE/RenderSystem_GL3Plus.so
#15 0x00007ffff10272f9 in Ogre::GLSLMonolithicProgramManager::getActiveMonolithicProgram() () from /usr/lib/x86_64-linux-gnu/OGRE-2.3/OGRE/RenderSystem_GL3Plus.so
#16 0x00007ffff14a1cf4 in Ogre::HlmsCompute::dispatch(Ogre::HlmsComputeJob*, Ogre::SceneManager*, Ogre::Camera*) ()
   from /usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextMain.so.2.3.1
#17 0x00007ffff4729b65 in Ogre::VctImageVoxelizer::build(Ogre::SceneManager*) () from /usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextHlmsPbs.so.2.3.1
#18 0x00007ffff472b044 in Ogre::VctImageVoxelizer::buildRelative(Ogre::SceneManager*, int, int, int, unsigned int, unsigned int, unsigned int) ()
   from /usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextHlmsPbs.so.2.3.1
#19 0x00007ffff47237c5 in Ogre::VctCascadedVoxelizer::update(Ogre::SceneManager*) () from /usr/lib/x86_64-linux-gnu/OGRE-2.3/libOgreNextHlmsPbs.so.2.3.1
#20 0x00007ffff1a2a830 in gz::rendering::v8::Ogre2GlobalIlluminationCiVct::Build (this=0x555556e0bc50)
    at /home/ian/code/gz_h_ws/src/gz-rendering/ogre2/src/Ogre2GlobalIlluminationCiVct.cc:403
#21 0x000055555555cfdb in buildScene(std::shared_ptr<gz::rendering::v8::Scene>) ()
#22 0x000055555555df3a in createCamera(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#23 0x000055555555e44a in main ()

@darksylinc
Copy link
Contributor Author

Does Ogre.log say something useful?
What's your NV card and what (proprietary) driver version are you using?

@iche033
Copy link
Contributor

iche033 commented Dec 22, 2022

I have nvidia drivers 510 installed through Ubuntu (Jammy)

ii  nvidia-driver-510                                 510.85.02-0ubuntu0.22.04.2                 amd64        NVIDIA driver metapackage

here's my ogre log. It's does not reveal much though

ogre2.log
13:21:54: Creating resource group General
13:21:54: Creating resource group Internal
13:21:54: Creating resource group Autodetect
13:21:54: SceneManagerFactory for type 'DefaultSceneManager' registered.
13:21:54: Registering ResourceManager for type Material
13:21:54: Registering ResourceManager for type Mesh
13:21:54: Registering ResourceManager for type Mesh2
13:21:54: Registering ResourceManager for type OldSkeleton
13:21:54: MovableObjectFactory for type 'ParticleSystem' registered.
13:21:54: ArchiveFactory for archive type FileSystem registered.
13:21:54: ArchiveFactory for archive type Zip registered.
13:21:54: ArchiveFactory for archive type EmbeddedZip registered.
13:21:54: DDS codec registering
13:21:54: FreeImage version: 3.18.0
13:21:54: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
13:21:54: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,psb,cut,xbm,xpm,gif,hdr,g3,sgi,rgb,rgba,bw,exr,j2k,j2c,jp2,pfm,pct,pict,pic,3fr,arw,bay,bmq,cap,cine,cr2,crw,cs1,dc2,dcr,drf,dsc,dng,erf,fff,ia,iiq,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,ptx,pxn,qtk,raf,raw,rdc,rw2,rwl,rwz,sr2,srf,srw,sti,x3f,webp,jxr,wdp,hdp
13:21:54: ETC codec registering
13:21:54: OITD codec registering
13:21:54: Registering ResourceManager for type HighLevelGpuProgram
13:21:54: MovableObjectFactory for type 'Decal' registered.
13:21:54: MovableObjectFactory for type 'InternalCubemapProbe' registered.
13:21:54: MovableObjectFactory for type 'Entity' registered.
13:21:54: MovableObjectFactory for type 'Item' registered.
13:21:54: MovableObjectFactory for type 'Light' registered.
13:21:54: MovableObjectFactory for type 'Rectangle2Dv2' registered.
13:21:54: MovableObjectFactory for type 'BillboardSet' registered.
13:21:54: MovableObjectFactory for type 'ManualObject2' registered.
13:21:54: MovableObjectFactory for type 'BillboardChain' registered.
13:21:54: MovableObjectFactory for type 'RibbonTrail' registered.
13:21:54: MovableObjectFactory for type 'WireAabb' registered.
13:21:54: *-*-* OGRE Initialising
13:21:54: *-*-* Version 2.3.1 (Daedalus)
13:21:54: OverlayElementFactory for type Panel registered.
13:21:54: OverlayElementFactory for type BorderPanel registered.
13:21:54: OverlayElementFactory for type TextArea registered.
13:21:54: Registering ResourceManager for type Font
13:21:54: Loading library /usr/lib/x86_64-linux-gnu/OGRE-2.3/OGRE/RenderSystem_GL3Plus.so
13:21:54: Installing plugin: GL 3+ RenderSystem
13:21:54: OpenGL 3+ Rendering Subsystem created.
13:21:54: Found Num EGL Devices: 3
13:21:54: EGL Device: EGL_NV_device_cuda EGL_EXT_device_drm EGL_EXT_device_drm_render_node EGL_EXT_device_persistent_id #0 /dev/dri/card0
13:21:54: Trying to init device: EGL_NV_device_cuda EGL_EXT_device_drm EGL_EXT_device_drm_render_node EGL_EXT_device_persistent_id #0 /dev/dri/card0...
13:21:54: Created GL 4.5 context for device EGL_NV_device_cuda EGL_EXT_device_drm EGL_EXT_device_drm_render_node EGL_EXT_device_persistent_id #0 /dev/dri/card0
13:21:54: Destroying device: EGL_NV_device_cuda EGL_EXT_device_drm EGL_EXT_device_drm_render_node EGL_EXT_device_persistent_id #0 /dev/dri/card0...
13:21:54: EGL Device: EGL_EXT_device_drm EGL_EXT_device_drm_render_node #1 /dev/dri/card0
13:21:54: Trying to init device: EGL_EXT_device_drm EGL_EXT_device_drm_render_node #1 /dev/dri/card0...
13:21:54: OGRE EXCEPTION(3:RenderingAPIException): eglInitialize failed for device EGL_EXT_device_drm EGL_EXT_device_drm_render_node #1 /dev/dri/card0 in EGLSupport::getGLDisplay at ./RenderSystems/GL3Plus/src/windowing/EGL/PBuffer/OgreEglPBufferSupport.cpp (line 320)
13:21:54: OGRE EXCEPTION(3:RenderingAPIException): eglInitialize failed for device EGL_EXT_device_drm EGL_EXT_device_drm_render_node #1 /dev/dri/card0 in EGLSupport::getGLDisplay at ./RenderSystems/GL3Plus/src/windowing/EGL/PBuffer/OgreEglPBufferSupport.cpp (line 320)
13:21:54: Destroying device: EGL_EXT_device_drm EGL_EXT_device_drm_render_node #1 /dev/dri/card0...
13:21:54: EGL Device: EGL_MESA_device_software EGL_EXT_device_drm_render_node #2
13:21:54: Trying to init device: EGL_MESA_device_software EGL_EXT_device_drm_render_node #2...
13:21:54: Created GL 4.5 context for device EGL_MESA_device_software EGL_EXT_device_drm_render_node #2
13:21:54: Destroying device: EGL_MESA_device_software EGL_EXT_device_drm_render_node #2...
13:21:54: Plugin successfully installed
13:21:54: Loading library /usr/lib/x86_64-linux-gnu/OGRE-2.3/OGRE/Plugin_ParticleFX.so
13:21:54: Installing plugin: ParticleFX
13:21:54: Particle Emitter Type 'Point' registered
13:21:54: Particle Emitter Type 'Box' registered
13:21:54: Particle Emitter Type 'Ellipsoid' registered
13:21:54: Particle Emitter Type 'Cylinder' registered
13:21:54: Particle Emitter Type 'Ring' registered
13:21:54: Particle Emitter Type 'HollowEllipsoid' registered
13:21:54: Particle Affector Type 'LinearForce' registered
13:21:54: Particle Affector Type 'ColourFader' registered
13:21:54: Particle Affector Type 'ColourFader2' registered
13:21:54: Particle Affector Type 'ColourImage' registered
13:21:54: Particle Affector Type 'ColourInterpolator' registered
13:21:54: Particle Affector Type 'Scaler' registered
13:21:54: Particle Affector Type 'Rotator' registered
13:21:54: Particle Affector Type 'DirectionRandomiser' registered
13:21:54: Particle Affector Type 'DeflectorPlane' registered
13:21:54: Plugin successfully installed
13:21:54: CPU Identifier & Features
13:21:54: -------------------------
13:21:54:  *   CPU ID: GenuineIntel: Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz
13:21:54:  *   Logical cores: 12
13:21:54:  *      SSE: yes
13:21:54:  *     SSE2: yes
13:21:54:  *     SSE3: yes
13:21:54:  *      MMX: yes
13:21:54:  *   MMXEXT: yes
13:21:54:  *    3DNOW: no
13:21:54:  * 3DNOWEXT: no
13:21:54:  *     CMOV: yes
13:21:54:  *      TSC: yes
13:21:54:  *      FPU: yes
13:21:54:  *      PRO: yes
13:21:54:  *       HT: no
13:21:54: -------------------------
13:21:54: ******************************
*** Starting GLX Subsystem ***
******************************
13:21:54: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_60817409", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1.000000 gamma=Yes parentWindowHandle=60817409 stereoMode=Frame Sequential 
13:21:54: Created GL 4.5 context
13:21:55: GLXWindow::create used FBConfigID = 165
13:21:55: GL Version = 4.5.0.0
13:21:55: GL_VERSION = 4.5.0 NVIDIA 510.85.02
13:21:55: GL_VENDOR = NVIDIA Corporation
13:21:55: GL_RENDERER = NVIDIA GeForce GTX 1070/PCIe/SSE2
13:21:55: GL_EXTENSIONS = 
13:21:55: GL_AMD_multi_draw_indirect
13:21:55: GL_AMD_seamless_cubemap_per_texture
13:21:55: GL_AMD_vertex_shader_viewport_index
13:21:55: GL_AMD_vertex_shader_layer
13:21:55: GL_ARB_arrays_of_arrays
13:21:55: GL_ARB_base_instance
13:21:55: GL_ARB_bindless_texture
13:21:55: GL_ARB_blend_func_extended
13:21:55: GL_ARB_buffer_storage
13:21:55: GL_ARB_clear_buffer_object
13:21:55: GL_ARB_clear_texture
13:21:55: GL_ARB_clip_control
13:21:55: GL_ARB_color_buffer_float
13:21:55: GL_ARB_compressed_texture_pixel_storage
13:21:55: GL_ARB_conservative_depth
13:21:55: GL_ARB_compute_shader
13:21:55: GL_ARB_compute_variable_group_size
13:21:55: GL_ARB_conditional_render_inverted
13:21:55: GL_ARB_copy_buffer
13:21:55: GL_ARB_copy_image
13:21:55: GL_ARB_cull_distance
13:21:55: GL_ARB_debug_output
13:21:55: GL_ARB_depth_buffer_float
13:21:55: GL_ARB_depth_clamp
13:21:55: GL_ARB_depth_texture
13:21:55: GL_ARB_derivative_control
13:21:55: GL_ARB_direct_state_access
13:21:55: GL_ARB_draw_buffers
13:21:55: GL_ARB_draw_buffers_blend
13:21:55: GL_ARB_draw_indirect
13:21:55: GL_ARB_draw_elements_base_vertex
13:21:55: GL_ARB_draw_instanced
13:21:55: GL_ARB_enhanced_layouts
13:21:55: GL_ARB_ES2_compatibility
13:21:55: GL_ARB_ES3_compatibility
13:21:55: GL_ARB_ES3_1_compatibility
13:21:55: GL_ARB_ES3_2_compatibility
13:21:55: GL_ARB_explicit_attrib_location
13:21:55: GL_ARB_explicit_uniform_location
13:21:55: GL_ARB_fragment_coord_conventions
13:21:55: GL_ARB_fragment_layer_viewport
13:21:55: GL_ARB_fragment_program
13:21:55: GL_ARB_fragment_program_shadow
13:21:55: GL_ARB_fragment_shader
13:21:55: GL_ARB_fragment_shader_interlock
13:21:55: GL_ARB_framebuffer_no_attachments
13:21:55: GL_ARB_framebuffer_object
13:21:55: GL_ARB_framebuffer_sRGB
13:21:55: GL_ARB_geometry_shader4
13:21:55: GL_ARB_get_program_binary
13:21:55: GL_ARB_get_texture_sub_image
13:21:55: GL_ARB_gl_spirv
13:21:55: GL_ARB_gpu_shader5
13:21:55: GL_ARB_gpu_shader_fp64
13:21:55: GL_ARB_gpu_shader_int64
13:21:55: GL_ARB_half_float_pixel
13:21:55: GL_ARB_half_float_vertex
13:21:55: GL_ARB_imaging
13:21:55: GL_ARB_indirect_parameters
13:21:55: GL_ARB_instanced_arrays
13:21:55: GL_ARB_internalformat_query
13:21:55: GL_ARB_internalformat_query2
13:21:55: GL_ARB_invalidate_subdata
13:21:55: GL_ARB_map_buffer_alignment
13:21:55: GL_ARB_map_buffer_range
13:21:55: GL_ARB_multi_bind
13:21:55: GL_ARB_multi_draw_indirect
13:21:55: GL_ARB_multisample
13:21:55: GL_ARB_multitexture
13:21:55: GL_ARB_occlusion_query
13:21:55: GL_ARB_occlusion_query2
13:21:55: GL_ARB_parallel_shader_compile
13:21:55: GL_ARB_pipeline_statistics_query
13:21:55: GL_ARB_pixel_buffer_object
13:21:55: GL_ARB_point_parameters
13:21:55: GL_ARB_point_sprite
13:21:55: GL_ARB_polygon_offset_clamp
13:21:55: GL_ARB_post_depth_coverage
13:21:55: GL_ARB_program_interface_query
13:21:55: GL_ARB_provoking_vertex
13:21:55: GL_ARB_query_buffer_object
13:21:55: GL_ARB_robust_buffer_access_behavior
13:21:55: GL_ARB_robustness
13:21:55: GL_ARB_sample_locations
13:21:55: GL_ARB_sample_shading
13:21:55: GL_ARB_sampler_objects
13:21:55: GL_ARB_seamless_cube_map
13:21:55: GL_ARB_seamless_cubemap_per_texture
13:21:55: GL_ARB_separate_shader_objects
13:21:55: GL_ARB_shader_atomic_counter_ops
13:21:55: GL_ARB_shader_atomic_counters
13:21:55: GL_ARB_shader_ballot
13:21:55: GL_ARB_shader_bit_encoding
13:21:55: GL_ARB_shader_clock
13:21:55: GL_ARB_shader_draw_parameters
13:21:55: GL_ARB_shader_group_vote
13:21:55: GL_ARB_shader_image_load_store
13:21:55: GL_ARB_shader_image_size
13:21:55: GL_ARB_shader_objects
13:21:55: GL_ARB_shader_precision
13:21:55: GL_ARB_shader_storage_buffer_object
13:21:55: GL_ARB_shader_subroutine
13:21:55: GL_ARB_shader_texture_image_samples
13:21:55: GL_ARB_shader_texture_lod
13:21:55: GL_ARB_shading_language_100
13:21:55: GL_ARB_shader_viewport_layer_array
13:21:55: GL_ARB_shading_language_420pack
13:21:55: GL_ARB_shading_language_include
13:21:55: GL_ARB_shading_language_packing
13:21:55: GL_ARB_shadow
13:21:55: GL_ARB_sparse_buffer
13:21:55: GL_ARB_sparse_texture
13:21:55: GL_ARB_sparse_texture2
13:21:55: GL_ARB_sparse_texture_clamp
13:21:55: GL_ARB_spirv_extensions
13:21:55: GL_ARB_stencil_texturing
13:21:55: GL_ARB_sync
13:21:55: GL_ARB_tessellation_shader
13:21:55: GL_ARB_texture_barrier
13:21:55: GL_ARB_texture_border_clamp
13:21:55: GL_ARB_texture_buffer_object
13:21:55: GL_ARB_texture_buffer_object_rgb32
13:21:55: GL_ARB_texture_buffer_range
13:21:55: GL_ARB_texture_compression
13:21:55: GL_ARB_texture_compression_bptc
13:21:55: GL_ARB_texture_compression_rgtc
13:21:55: GL_ARB_texture_cube_map
13:21:55: GL_ARB_texture_cube_map_array
13:21:55: GL_ARB_texture_env_add
13:21:55: GL_ARB_texture_env_combine
13:21:55: GL_ARB_texture_env_crossbar
13:21:55: GL_ARB_texture_env_dot3
13:21:55: GL_ARB_texture_filter_anisotropic
13:21:55: GL_ARB_texture_filter_minmax
13:21:55: GL_ARB_texture_float
13:21:55: GL_ARB_texture_gather
13:21:55: GL_ARB_texture_mirror_clamp_to_edge
13:21:55: GL_ARB_texture_mirrored_repeat
13:21:55: GL_ARB_texture_multisample
13:21:55: GL_ARB_texture_non_power_of_two
13:21:55: GL_ARB_texture_query_levels
13:21:55: GL_ARB_texture_query_lod
13:21:55: GL_ARB_texture_rectangle
13:21:55: GL_ARB_texture_rg
13:21:55: GL_ARB_texture_rgb10_a2ui
13:21:55: GL_ARB_texture_stencil8
13:21:55: GL_ARB_texture_storage
13:21:55: GL_ARB_texture_storage_multisample
13:21:55: GL_ARB_texture_swizzle
13:21:55: GL_ARB_texture_view
13:21:55: GL_ARB_timer_query
13:21:55: GL_ARB_transform_feedback2
13:21:55: GL_ARB_transform_feedback3
13:21:55: GL_ARB_transform_feedback_instanced
13:21:55: GL_ARB_transform_feedback_overflow_query
13:21:55: GL_ARB_transpose_matrix
13:21:55: GL_ARB_uniform_buffer_object
13:21:55: GL_ARB_vertex_array_bgra
13:21:55: GL_ARB_vertex_array_object
13:21:55: GL_ARB_vertex_attrib_64bit
13:21:55: GL_ARB_vertex_attrib_binding
13:21:55: GL_ARB_vertex_buffer_object
13:21:55: GL_ARB_vertex_program
13:21:55: GL_ARB_vertex_shader
13:21:55: GL_ARB_vertex_type_10f_11f_11f_rev
13:21:55: GL_ARB_vertex_type_2_10_10_10_rev
13:21:55: GL_ARB_viewport_array
13:21:55: GL_ARB_window_pos
13:21:55: GL_ATI_draw_buffers
13:21:55: GL_ATI_texture_float
13:21:55: GL_ATI_texture_mirror_once
13:21:55: GL_S3_s3tc
13:21:55: GL_EXT_texture_env_add
13:21:55: GL_EXT_abgr
13:21:55: GL_EXT_bgra
13:21:55: GL_EXT_bindable_uniform
13:21:55: GL_EXT_blend_color
13:21:55: GL_EXT_blend_equation_separate
13:21:55: GL_EXT_blend_func_separate
13:21:55: GL_EXT_blend_minmax
13:21:55: GL_EXT_blend_subtract
13:21:55: GL_EXT_compiled_vertex_array
13:21:55: GL_EXT_Cg_shader
13:21:55: GL_EXT_depth_bounds_test
13:21:55: GL_EXT_direct_state_access
13:21:55: GL_EXT_draw_buffers2
13:21:55: GL_EXT_draw_instanced
13:21:55: GL_EXT_draw_range_elements
13:21:55: GL_EXT_fog_coord
13:21:55: GL_EXT_framebuffer_blit
13:21:55: GL_EXT_framebuffer_multisample
13:21:55: GL_EXTX_framebuffer_mixed_formats
13:21:55: GL_EXT_framebuffer_multisample_blit_scaled
13:21:55: GL_EXT_framebuffer_object
13:21:55: GL_EXT_framebuffer_sRGB
13:21:55: GL_EXT_geometry_shader4
13:21:55: GL_EXT_gpu_program_parameters
13:21:55: GL_EXT_gpu_shader4
13:21:55: GL_EXT_multi_draw_arrays
13:21:55: GL_EXT_multiview_texture_multisample
13:21:55: GL_EXT_multiview_timer_query
13:21:55: GL_EXT_packed_depth_stencil
13:21:55: GL_EXT_packed_float
13:21:55: GL_EXT_packed_pixels
13:21:55: GL_EXT_pixel_buffer_object
13:21:55: GL_EXT_point_parameters
13:21:55: GL_EXT_polygon_offset_clamp
13:21:55: GL_EXT_post_depth_coverage
13:21:55: GL_EXT_provoking_vertex
13:21:55: GL_EXT_raster_multisample
13:21:55: GL_EXT_rescale_normal
13:21:55: GL_EXT_secondary_color
13:21:55: GL_EXT_separate_shader_objects
13:21:55: GL_EXT_separate_specular_color
13:21:55: GL_EXT_shader_image_load_formatted
13:21:55: GL_EXT_shader_image_load_store
13:21:55: GL_EXT_shader_integer_mix
13:21:55: GL_EXT_shadow_funcs
13:21:55: GL_EXT_sparse_texture2
13:21:55: GL_EXT_stencil_two_side
13:21:55: GL_EXT_stencil_wrap
13:21:55: GL_EXT_texture3D
13:21:55: GL_EXT_texture_array
13:21:55: GL_EXT_texture_buffer_object
13:21:55: GL_EXT_texture_compression_dxt1
13:21:55: GL_EXT_texture_compression_latc
13:21:55: GL_EXT_texture_compression_rgtc
13:21:55: GL_EXT_texture_compression_s3tc
13:21:55: GL_EXT_texture_cube_map
13:21:55: GL_EXT_texture_edge_clamp
13:21:55: GL_EXT_texture_env_combine
13:21:55: GL_EXT_texture_env_dot3
13:21:55: GL_EXT_texture_filter_anisotropic
13:21:55: GL_EXT_texture_filter_minmax
13:21:55: GL_EXT_texture_integer
13:21:55: GL_EXT_texture_lod
13:21:55: GL_EXT_texture_lod_bias
13:21:55: GL_EXT_texture_mirror_clamp
13:21:55: GL_EXT_texture_object
13:21:55: GL_EXT_texture_shadow_lod
13:21:55: GL_EXT_texture_shared_exponent
13:21:55: GL_EXT_texture_sRGB
13:21:55: GL_EXT_texture_sRGB_R8
13:21:55: GL_EXT_texture_sRGB_decode
13:21:55: GL_EXT_texture_storage
13:21:55: GL_EXT_texture_swizzle
13:21:55: GL_EXT_timer_query
13:21:55: GL_EXT_transform_feedback2
13:21:55: GL_EXT_vertex_array
13:21:55: GL_EXT_vertex_array_bgra
13:21:55: GL_EXT_vertex_attrib_64bit
13:21:55: GL_EXT_window_rectangles
13:21:55: GL_EXT_x11_sync_object
13:21:55: GL_EXT_import_sync_object
13:21:55: GL_NV_robustness_video_memory_purge
13:21:55: GL_IBM_rasterpos_clip
13:21:55: GL_IBM_texture_mirrored_repeat
13:21:55: GL_KHR_context_flush_control
13:21:55: GL_KHR_debug
13:21:55: GL_EXT_memory_object
13:21:55: GL_EXT_memory_object_fd
13:21:55: GL_NV_memory_object_sparse
13:21:55: GL_KHR_parallel_shader_compile
13:21:55: GL_KHR_no_error
13:21:55: GL_KHR_robust_buffer_access_behavior
13:21:55: GL_KHR_robustness
13:21:55: GL_EXT_semaphore
13:21:55: GL_EXT_semaphore_fd
13:21:55: GL_NV_timeline_semaphore
13:21:55: GL_KHR_shader_subgroup
13:21:55: GL_KTX_buffer_region
13:21:55: GL_NV_alpha_to_coverage_dither_control
13:21:55: GL_NV_bindless_multi_draw_indirect
13:21:55: GL_NV_bindless_multi_draw_indirect_count
13:21:55: GL_NV_bindless_texture
13:21:55: GL_NV_blend_equation_advanced
13:21:55: GL_NV_blend_equation_advanced_coherent
13:21:55: GL_NVX_blend_equation_advanced_multi_draw_buffers
13:21:55: GL_NV_blend_minmax_factor
13:21:55: GL_NV_blend_square
13:21:55: GL_NV_clip_space_w_scaling
13:21:55: GL_NV_command_list
13:21:55: GL_NV_compute_program5
13:21:55: GL_NV_conditional_render
13:21:55: GL_NV_conservative_raster
13:21:55: GL_NV_conservative_raster_dilate
13:21:55: GL_NV_conservative_raster_pre_snap_triangles
13:21:55: GL_NV_copy_depth_to_color
13:21:55: GL_NV_copy_image
13:21:55: GL_NV_depth_buffer_float
13:21:55: GL_NV_depth_clamp
13:21:55: GL_NV_draw_texture
13:21:55: GL_NV_draw_vulkan_image
13:21:55: GL_NV_ES1_1_compatibility
13:21:55: GL_NV_ES3_1_compatibility
13:21:55: GL_NV_explicit_multisample
13:21:55: GL_NV_feature_query
13:21:55: GL_NV_fence
13:21:55: GL_NV_fill_rectangle
13:21:55: GL_NV_float_buffer
13:21:55: GL_NV_fog_distance
13:21:55: GL_NV_fragment_coverage_to_color
13:21:55: GL_NV_fragment_program
13:21:55: GL_NV_fragment_program_option
13:21:55: GL_NV_fragment_program2
13:21:55: GL_NV_fragment_shader_interlock
13:21:55: GL_NV_framebuffer_mixed_samples
13:21:55: GL_NV_framebuffer_multisample_coverage
13:21:55: GL_NV_geometry_shader4
13:21:55: GL_NV_geometry_shader_passthrough
13:21:55: GL_NV_gpu_program4
13:21:55: GL_NV_internalformat_sample_query
13:21:55: GL_NV_gpu_program4_1
13:21:55: GL_NV_gpu_program5
13:21:55: GL_NV_gpu_program5_mem_extended
13:21:55: GL_NV_gpu_program_fp64
13:21:55: GL_NV_gpu_shader5
13:21:55: GL_NV_half_float
13:21:55: GL_NV_light_max_exponent
13:21:55: GL_NV_memory_attachment
13:21:55: GL_NV_multisample_coverage
13:21:55: GL_NV_multisample_filter_hint
13:21:55: GL_NV_occlusion_query
13:21:55: GL_NV_packed_depth_stencil
13:21:55: GL_NV_parameter_buffer_object
13:21:55: GL_NV_parameter_buffer_object2
13:21:55: GL_NV_path_rendering
13:21:55: GL_NV_path_rendering_shared_edge
13:21:55: GL_NV_pixel_data_range
13:21:55: GL_NV_point_sprite
13:21:55: GL_NV_primitive_restart
13:21:55: GL_NV_query_resource
13:21:55: GL_NV_query_resource_tag
13:21:55: GL_NV_register_combiners
13:21:55: GL_NV_register_combiners2
13:21:55: GL_NV_sample_locations
13:21:55: GL_NV_sample_mask_override_coverage
13:21:55: GL_NV_shader_atomic_counters
13:21:55: GL_NV_shader_atomic_float
13:21:55: GL_NV_shader_atomic_float64
13:21:55: GL_NV_shader_atomic_fp16_vector
13:21:55: GL_NV_shader_atomic_int64
13:21:55: GL_NV_shader_buffer_load
13:21:55: GL_NV_shader_storage_buffer_object
13:21:55: GL_NV_shader_subgroup_partitioned
13:21:55: GL_NV_stereo_view_rendering
13:21:55: GL_NV_texgen_reflection
13:21:55: GL_NV_texture_barrier
13:21:55: GL_NV_texture_compression_vtc
13:21:55: GL_NV_texture_env_combine4
13:21:55: GL_NV_texture_multisample
13:21:55: GL_NV_texture_rectangle
13:21:55: GL_NV_texture_rectangle_compressed
13:21:55: GL_NV_texture_shader
13:21:55: GL_NV_texture_shader2
13:21:55: GL_NV_texture_shader3
13:21:55: GL_NV_transform_feedback
13:21:55: GL_NV_transform_feedback2
13:21:55: GL_NV_uniform_buffer_unified_memory
13:21:55: GL_NV_vdpau_interop
13:21:55: GL_NV_vdpau_interop2
13:21:55: GL_NV_vertex_array_range
13:21:55: GL_NV_vertex_array_range2
13:21:55: GL_NV_vertex_attrib_integer_64bit
13:21:55: GL_NV_vertex_buffer_unified_memory
13:21:55: GL_NV_vertex_program
13:21:55: GL_NV_vertex_program1_1
13:21:55: GL_NV_vertex_program2
13:21:55: GL_NV_vertex_program2_option
13:21:55: GL_NV_vertex_program3
13:21:55: GL_NV_viewport_array2
13:21:55: GL_NV_viewport_swizzle
13:21:55: GL_NVX_conditional_render
13:21:55: GL_NV_gpu_multicast
13:21:55: GL_NVX_progress_fence
13:21:55: GL_NVX_gpu_memory_info
13:21:55: GL_NVX_nvenc_interop
13:21:55: GL_NV_shader_thread_group
13:21:55: GL_NV_shader_thread_shuffle
13:21:55: GL_KHR_blend_equation_advanced
13:21:55: GL_KHR_blend_equation_advanced_coherent
13:21:55: GL_OVR_multiview
13:21:55: GL_OVR_multiview2
13:21:55: GL_SGIS_generate_mipmap
13:21:55: GL_SGIS_texture_lod
13:21:55: GL_SGIX_depth_texture
13:21:55: GL_SGIX_shadow
13:21:55: GL_SUN_slice_accum
13:21:55: **************************************
13:21:55: ***   OpenGL 3+ Renderer Started   ***
13:21:55: **************************************
13:21:55: Registering ResourceManager for type GpuProgram
13:21:55: RenderSystem capabilities
13:21:55: -------------------------
13:21:55: RenderSystem Name: OpenGL 3+ Rendering Subsystem
13:21:55: GPU Vendor: nvidia
13:21:55: Device Name: NVIDIA GeForce GTX 1070/PCIe/SSE2
13:21:55: Driver Version: 4.5.0.0
13:21:55:  * Fixed function pipeline: no
13:21:55:  * Hardware generation of mipmaps: yes
13:21:55:  * Texture blending: yes
13:21:55:  * Anisotropic texture filtering: yes
13:21:55:  * Dot product texture operation: yes
13:21:55:  * Cube mapping: yes
13:21:55:  * Hardware stencil buffer: yes
13:21:55:    - Stencil depth: 8
13:21:55:    - Two sided stencil support: yes
13:21:55:    - Wrap stencil values: yes
13:21:55:  * Hardware vertex / index buffers: yes
13:21:55:  * 32-bit index buffers: yes
13:21:55:  * Vertex programs: yes
13:21:55:  * Number of floating-point constants for vertex programs: 4096
13:21:55:  * Number of integer constants for vertex programs: 4096
13:21:55:  * Number of boolean constants for vertex programs: 4096
13:21:55:  * Fragment programs: yes
13:21:55:  * Number of floating-point constants for fragment programs: 4096
13:21:55:  * Number of integer constants for fragment programs: 4096
13:21:55:  * Number of boolean constants for fragment programs: 4096
13:21:55:  * Geometry programs: yes
13:21:55:  * Number of floating-point constants for geometry programs: 2048
13:21:55:  * Number of integer constants for geometry programs: 2048
13:21:55:  * Number of boolean constants for geometry programs: 2048
13:21:55:  * Tessellation Hull programs: yes
13:21:55:  * Number of floating-point constants for tessellation hull programs: 2048
13:21:55:  * Number of integer constants for tessellation hull programs: 2048
13:21:55:  * Number of boolean constants for tessellation hull programs: 2048
13:21:55:  * Tessellation Domain programs: yes
13:21:55:  * Number of floating-point constants for tessellation domain programs: 2048
13:21:55:  * Number of integer constants for tessellation domain programs: 2048
13:21:55:  * Number of boolean constants for tessellation domain programs: 2048
13:21:55:  * Compute programs: yes
13:21:55:  * Number of floating-point constants for compute programs: 2048
13:21:55:  * Number of integer constants for compute programs: 2048
13:21:55:  * Number of boolean constants for compute programs: 2048
13:21:55:  * Supported Shader Profiles: glsl glsl130 glsl140 glsl150 glsl330 glsl400 glsl410 glsl420 glsl430 glsl440
13:21:55:  * Texture Compression: yes
13:21:55:    - DXT: yes
13:21:55:    - VTC: yes
13:21:55:    - PVRTC: no
13:21:55:    - ATC: no
13:21:55:    - ETC1: no
13:21:55:    - ETC2: yes
13:21:55:    - BC4/BC5: yes
13:21:55:    - BC6H/BC7: yes
13:21:55:    - ASTC: no
13:21:55:  * Hardware Occlusion Query: yes
13:21:55:  * User clip planes: yes
13:21:55:  * VET_UBYTE4 vertex element type: yes
13:21:55:  * Infinite far plane projection: yes
13:21:55:  * Hardware render-to-texture: yes
13:21:55:  * Floating point textures: yes
13:21:55:  * Non-power-of-two textures: yes
13:21:55:  * 1d textures: yes
13:21:55:  * Volume textures: yes
13:21:55:  * Max Texture resolution (2D) 32768
13:21:55:  * Max Texture resolution (3D) 16384
13:21:55:  * Max Texture resolution (Cubemaps) 32768
13:21:55:  * Multiple Render Targets: 8
13:21:55:    - With different bit depths: yes
13:21:55:  * Point Sprites: yes
13:21:55:  * Extended point parameters: yes
13:21:55:  * Max Point Size: 2047
13:21:55:  * Vertex texture fetch: yes
13:21:55:  * Number of world matrices: 0
13:21:55:  * Number of texture units: 16
13:21:55:  * Stencil buffer depth: 8
13:21:55:  * Number of vertex blend matrices: 0
13:21:55:    - Max vertex textures: 32
13:21:55:    - Vertex textures shared: yes
13:21:55:  * Render to Vertex Buffer : yes
13:21:55:  * Hardware Atomic Counters: yes
13:21:55:  * Compute max threads per threadgroup per axis: 1024, 1024, 64
13:21:55:  * Compute max threads per threadgroup total: 1024
13:21:55:  * GL 1.5 without VBO workaround: no
13:21:55:  * Frame Buffer objects: yes
13:21:55:  * Frame Buffer objects (ARB extension): no
13:21:55:  * Frame Buffer objects (ATI extension): no
13:21:55:  * PBuffer support: no
13:21:55:  * GL 1.5 without HW-occlusion workaround: no
13:21:55:  * Vertex Array Objects: yes
13:21:55:  * Separate shader objects: no
13:21:55:  * Using Reverse Z: yes
13:21:55: DefaultWorkQueue('Root') initialising on thread main.
13:21:55: Particle Renderer Type 'billboard' registered
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/2.0/scripts/Compositors' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/2.0/scripts/materials/Common' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/2.0/scripts/materials/Common/GLSL' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/2.0/scripts/materials/Terra' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/2.0/scripts/materials/Terra/GLSL' of type 'FileSystem' to resource group 'General'
13:21:55: HLMS Library path '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/Hlms/Gz' has no piece files. Are you sure you provided the right path with read access?
13:21:55: HLMS Library path '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/Hlms/Gz' has no piece files. Are you sure you provided the right path with read access?
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/materials/programs' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/materials/programs/GLSL' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/materials/programs/Metal' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/materials/scripts' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/materials/textures' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/Compute/Tools' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/Compute/Tools/Any' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/Compute/Tools/GLSL' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/Compute/Tools/HLSL' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/Compute/Tools/Metal' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/VCT' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/VCT/ImageVoxelizer' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/VCT/Visualizer' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/Hlms/Common/Any' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/Hlms/Common/GLSL' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/ogre2/media/Hlms/Pbs/Any' of type 'FileSystem' to resource group 'General'
13:21:55: Parsing scripts for resource group Autodetect
13:21:55: Finished parsing scripts for resource group Autodetect
13:21:55: Creating resources for group Autodetect
13:21:55: All done
13:21:55: Parsing scripts for resource group General
13:21:55: Parsing script Quad.program
13:21:55: Parsing script picker.program
13:21:55: Parsing script DPSM.material
13:21:55: Parsing script Copyback.material
13:21:55: Parsing script DepthUtils.material
13:21:55: Parsing script EsmGaussianBlurLogFilter.material
13:21:55: Parsing script GpuNormalMapper.material
13:21:55: Parsing script gaussian_noise.material
13:21:55: Parsing script wide_angle_camera.material
13:21:55: Parsing script gpu_rays.material
13:21:55: Parsing script depth_camera.material
13:21:55: Parsing script skybox.material
13:21:55: Parsing script thermal.material
13:21:55: Parsing script lens_flare.material
13:21:55: Parsing script picker.material
13:21:55: Parsing script selection_buffer.material
13:21:55: Parsing script point_cloud_point.material
13:21:55: Parsing script VoxelVisualizer.material
13:21:55: Parsing script GpuNormalMapper.compositor
13:21:55: Parsing script TerraShadowGenerator.compositor
13:21:55: Parsing script lens_flare.compositor
13:21:55: Parsing script wide_angle_camera.compositor
13:21:55: Parsing script GpuRays.compositor
13:21:55: Parsing script VctTexDownsample.compositor
13:21:55: Parsing script Mipmaps.material.json
13:21:55: Parsing script EsmGaussianBlurLogFilter.material.json
13:21:55: Parsing script TerraShadowGenerator.material.json
13:21:55: Parsing script ClearUav.material.json
13:21:55: Parsing script Voxelizer.material.json
13:21:55: Finished parsing scripts for resource group General
13:21:55: Creating resources for group General
13:21:55: All done
13:21:55: Parsing scripts for resource group Internal
13:21:55: Finished parsing scripts for resource group Internal
13:21:55: Creating resources for group Internal
13:21:55: All done
13:21:55: Added resource location '/home/ian/code/gz_h_ws/install/share/gz/gz-rendering8/media/materials/textures/' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/src/gz-rendering/examples/global_illumination/build/media/' of type 'FileSystem' to resource group 'General'
13:21:55: Added resource location '/home/ian/code/gz_h_ws/src/gz-rendering/examples/global_illumination/build/media' of type 'FileSystem' to resource group 'General' with recursive option
13:21:55: Initialising resource group General
13:21:55: Can't assign material scene::Material(65523) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65517) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Texture memory budget exceeded. Stalling GPU.
13:21:55: Stalling was not enough. Freeing memory.
13:21:55: Texture memory budget exceeded. Stalling GPU.
13:21:55: Stalling was not enough. Freeing memory.
13:21:55: Can't assign material scene::Material(65511) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65505) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65499) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Texture memory budget exceeded. Stalling GPU.
13:21:55: Stalling was not enough. Freeing memory.
13:21:55: Texture memory budget exceeded. Stalling GPU.
13:21:55: Stalling was not enough. Freeing memory.
13:21:55: Can't assign material scene::Material(65493) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65487) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65523) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65517) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65511) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65505) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65499) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65493) because this Material does not exist. Have you forgotten to define it in a .material script?
13:21:55: Can't assign material scene::Material(65487) because this Material does not exist. Have you forgotten to define it in a .material script?

@darksylinc
Copy link
Contributor Author

I'm reviewing the data and this might be an OgreNext bug.

The CiVct is already very taxing on resource limits imposed by GL3+ and thus is very hard to support.

Are you able to run it if you force Vulkan? (set public: gz::rendering::GraphicsAPI graphicsAPI{GraphicsAPI::OPENGL}; to VULKAN instead)

@iche033
Copy link
Contributor

iche033 commented Dec 22, 2022

Are you able to run it if you force Vulkan? (set public: gz::rendering::GraphicsAPI graphicsAPI{GraphicsAPI::OPENGL}; to VULKAN instead)

cool, just tested with vulkan and CiVct works

@azeey azeey moved this from Done to Highlights in Core development Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking change Breaks API, ABI or behavior. Must target unstable version. enhancement New feature or request
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

5 participants