-
Notifications
You must be signed in to change notification settings - Fork 51
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
Fix heap overflow when reading #337
Merged
iche033
merged 2 commits into
gazebosim:ign-rendering5
from
darksylinc:matias-selBufferReadOverflowFix5
Jun 14, 2021
Merged
Fix heap overflow when reading #337
iche033
merged 2 commits into
gazebosim:ign-rendering5
from
darksylinc:matias-selBufferReadOverflowFix5
Jun 14, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
darksylinc
force-pushed
the
matias-selBufferReadOverflowFix5
branch
from
June 14, 2021 01:13
598aca1
to
973cd42
Compare
Codecov Report
@@ Coverage Diff @@
## ign-rendering5 #337 +/- ##
===============================================
Coverage 57.83% 57.83%
===============================================
Files 161 161
Lines 15806 15808 +2
===============================================
+ Hits 9141 9143 +2
Misses 6665 6665
Continue to review full report at Codecov.
|
ahcorde
approved these changes
Jun 14, 2021
iche033
reviewed
Jun 14, 2021
PF_RGB is 3 bytes. But later on Ogre2SelectionBuffer::OnSelectionClick will try to read 4 bytes from it. Fixed by ensuring it's always at least 4 bytes and zero-initializing those 4 bytes. Signed-off-by: Matias N. Goldberg <[email protected]>
darksylinc
force-pushed
the
matias-selBufferReadOverflowFix5
branch
from
June 14, 2021 18:20
973cd42
to
2c70dfb
Compare
iche033
approved these changes
Jun 14, 2021
iche033
added a commit
that referenced
this pull request
Jun 14, 2021
PF_RGB is 3 bytes. But later on Ogre2SelectionBuffer::OnSelectionClick will try to read 4 bytes from it. Fixed by ensuring it's always at least 4 bytes and zero-initializing those 4 bytes. Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: Ian Chen <[email protected]>
7 tasks
iche033
added a commit
that referenced
this pull request
Jun 15, 2021
* Fix heap overflow when reading (#337) PF_RGB is 3 bytes. But later on Ogre2SelectionBuffer::OnSelectionClick will try to read 4 bytes from it. Fixed by ensuring it's always at least 4 bytes and zero-initializing those 4 bytes. Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: Ian Chen <[email protected]> * Fix new [] / delete mismatch (#338) Using a custom deallocator to avoid breaking ABI Alternatively C++17 supports the following syntax, which was not used: `typedef std::shared_ptr<unsigned char[]> DataPtr;` Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: darksylinc <[email protected]>
ahcorde
pushed a commit
that referenced
this pull request
Jul 13, 2021
* Fix floating point precision bug handling alpha channel (#332) (#333) Fixes #332 Fixes #108 Signed-off-by: Matias N. Goldberg <[email protected]> * Test re-enabling depth camera integration test on mac (#335) * Fix floating point precision bug handling alpha channel (#332) Fixes #332 Fixes #108 Signed-off-by: Matias N. Goldberg <[email protected]> * test reenabling depth camera test on mac Signed-off-by: Ian Chen <[email protected]> Co-authored-by: Matias N. Goldberg <[email protected]> * Fix new [] / delete mismatch (#338) Using a custom deallocator to avoid breaking ABI Alternatively C++17 supports the following syntax, which was not used: `typedef std::shared_ptr<unsigned char[]> DataPtr;` Signed-off-by: Matias N. Goldberg <[email protected]> * Fix heap overflow when reading (#337) PF_RGB is 3 bytes. But later on Ogre2SelectionBuffer::OnSelectionClick will try to read 4 bytes from it. Fixed by ensuring it's always at least 4 bytes and zero-initializing those 4 bytes. Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: Ian Chen <[email protected]> * Fix floating point precision bug handling alpha channel (#332) (#333) Fixes #332 Fixes #108 Signed-off-by: Matias N. Goldberg <[email protected]> * Fix depth alpha (#316) * update test Signed-off-by: Ian Chen <[email protected]> * reenable macos test Signed-off-by: Ian Chen <[email protected]> * fix typo Signed-off-by: Ian Chen <[email protected]> * cherry pick f9f1820 and fix conflicts Signed-off-by: Ian Chen <[email protected]> * Fix FSAA in UI and lower VRAM consumption (#313) * Fix FSAA in UI and lower VRAM consumption FSAA was being requested however due to how the compositor was setup, this effect was not taking effect. Additionally, the Compositor setup was improved to lower memory consumption. Originally the setup was taken from Ogre samples which assume they will ultimately be rendering to a window. However this is not the case and thus IGN was creating 3 render targets (two for ping-ponging between postprocess FXs + one for storing the final result) This was optimized so that we only create 2 render targets: two for ping-ponging between postprocess FXs and we pick at runtime which one is storing the final result via the new variable renderTargetResultsIdx Further performance optimizations could be made in Ogre 2.2 to improve unnecessary MSAA resolving when doing postprocess, though considering there's currently only one postprocessing effect (the Gaussian filter) I doubt this optimization would make much of a difference Signed-off-by: Matias N. Goldberg <[email protected]> * Add Ogre2RenderTarget::RenderTarget back Signed-off-by: Matias N. Goldberg <[email protected]> * Rewrote the compositor changes to support RenderWindows As a bonus this new method breaks ABI far less. Fix leak: DestroyCompositor would often not be called Signed-off-by: Matias N. Goldberg <[email protected]> * Mantain ABI compatibility #Ogre2IsRenderWindowABI When merging to newer branches that can break the ABI, revert this commit Signed-off-by: Matias N. Goldberg <[email protected]> * Fix ABI problems I gave up on commit undoing It's clear that on the next release, Ogre2RenderTarget and Ogre2RenderTexture need to be merged together. Signed-off-by: Matias N. Goldberg <[email protected]> * Fix camel case convention Signed-off-by: Matias N. Goldberg <[email protected]> * Make Ogre2RenderTarget::RenderTarget pure virtual again Hopefully this will prevent ABI breakage Signed-off-by: Matias N. Goldberg <[email protected]> * Fix deprecation warnings during build Signed-off-by: Matias N. Goldberg <[email protected]> * Fix invalid write of size 8 This was causing heap corruption. At best it would crash. At worst it would manifeset in subtle weird behaviors Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: Ian Chen <[email protected]> * Backport memory fixes found by ASAN (#340) * Fix heap overflow when reading (#337) PF_RGB is 3 bytes. But later on Ogre2SelectionBuffer::OnSelectionClick will try to read 4 bytes from it. Fixed by ensuring it's always at least 4 bytes and zero-initializing those 4 bytes. Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: Ian Chen <[email protected]> * Fix new [] / delete mismatch (#338) Using a custom deallocator to avoid breaking ABI Alternatively C++17 supports the following syntax, which was not used: `typedef std::shared_ptr<unsigned char[]> DataPtr;` Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: darksylinc <[email protected]> * recreate node only when needed (#342) Signed-off-by: Ian Chen <[email protected]> * Fix custom shaders uniforms ign version number (#343) Signed-off-by: Ian Chen <[email protected]> * relax gaussian test tolerance (#344) Signed-off-by: Ian Chen <[email protected]> * Update light map tutorial (#346) * apply changes Signed-off-by: Ian Chen <[email protected]> * remove line Signed-off-by: Ian Chen <[email protected]> * add ifdef for apple in integration test Signed-off-by: Ian Chen <[email protected]> * 🎈 4.8.0 (#348) Signed-off-by: Louise Poubel <[email protected]> * update ign-rendering version in custom shaders uniform sample Signed-off-by: Ian Chen <[email protected]> * Remove problematic leftover files from 2.1 The mere presence of these files can cause incorrect shader generation or unknown visual bugs. IMPORTANT: The installation folder (i.e. CMAKE_INSTALL_PREFIX) must remove them as well. `make install` won't be enough because it won't remove files, only add new ones or update existing ones. This folder is usually installed in ign/install/share/ignition/ignition-rendering6/ogre2/media/Hlms Signed-off-by: Matias N. Goldberg <[email protected]> * Do not crash on shutdown - ogreRoot may be nullptr - Do not destroy textures already scheduled for destruction Signed-off-by: Matias N. Goldberg <[email protected]> * Restore FSAA support in 2.2 branch Signed-off-by: Matias N. Goldberg <[email protected]> * Fix changing background color not always taking immediate effect Changed pass_clear in favour of LoadAction::Clear which is more efficient on very modern GPUs and specially TBDR ones. Signed-off-by: Matias N. Goldberg <[email protected]> * Changed pass_clear in favour of LoadAction::Clear which is more efficient on very modern GPUs and specially TBDR ones. Signed-off-by: Matias N. Goldberg <[email protected]> * Missing public keyword Signed-off-by: Matias N. Goldberg <[email protected]> * Save VRAM when FSAA is used and no postprocessing There's an unused texture when these conditions are met (which are fairly common) This memory optimization could not be performed in Ogre 2.1, it needs Ogre 2.2+ Signed-off-by: Matias N. Goldberg <[email protected]> * Remove code deprecated in ign-rendering5 Syntax cosmetic changes for consistency Signed-off-by: Matias N. Goldberg <[email protected]> * Remove code deprecated in ign-rendering5 Signed-off-by: Matias N. Goldberg <[email protected]> * Code style fixes Signed-off-by: Matias N. Goldberg <[email protected]> * Undo VRAM saving optimization: It cannot be applied The "Final Composition" node requires both textures to be resident. Thus 2nd texture must always be resident. The optimization could still be applied if we create two Final Composition nodes (one for when 2 textures are needed, another for when only MSAA + 1 texture is needed) but this would: 1. Hurt code readability too much (i.e. what is going on?) 2. Increase debuggability difficulty too much because codepaths taken would differ depending on whether optimization was applied. Also certain bugs could remain hidden until compositors are toggled. This was causing ogre2_demo to fail. Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: Ian Chen <[email protected]> Co-authored-by: Louise Poubel <[email protected]>
iche033
added a commit
that referenced
this pull request
Sep 20, 2021
* Ogre2.2 Signed-off-by: ahcorde <[email protected]> * Added media files Signed-off-by: ahcorde <[email protected]> * Added Headless mode Signed-off-by: ahcorde <[email protected]> * Added feedback Signed-off-by: ahcorde <[email protected]> * Added feedback Signed-off-by: ahcorde <[email protected]> * Add OGRE2.2 to dependencies Signed-off-by: Michael Carroll <[email protected]> * Fixed GPUray and depthCamera test Co-authored-by: Michael Carroll <[email protected]> Signed-off-by: ahcorde <[email protected]> * cast based on pf Signed-off-by: Ian Chen <[email protected]> * Fix cleanup with packaged debs Signed-off-by: Michael Carroll <[email protected]> * fix copy raw data Signed-off-by: Ian Chen <[email protected]> * fix material test Signed-off-by: Ian Chen <[email protected]> * Lint and compiler warning Signed-off-by: Michael Carroll <[email protected]> * Trim whitespace Signed-off-by: Michael Carroll <[email protected]> * Apply gamma correction to sky Signed-off-by: ahcorde <[email protected]> * Test fixes to Ogre2.2 branch (#279) Signed-off-by: Michael Carroll <[email protected]> * Revert gamma correction in the sky Signed-off-by: ahcorde <[email protected]> * enable grayscale albedo map to fix red color highlights and disable hardware gamma to fix dark sky color Signed-off-by: Ian Chen <[email protected]> * Local updates for Ogre2.2 against main branch (#317) * Local updates for Ogre2.2 against main branch Signed-off-by: Ian Chen <[email protected]> Co-authored-by: Ian Chen <[email protected]> * Fix merge Signed-off-by: ahcorde <[email protected]> * fix shadows in ogre 2.2 Signed-off-by: Ian Chen <[email protected]> * Lint Signed-off-by: Michael Carroll <[email protected]> * fix toggling sky Signed-off-by: Ian Chen <[email protected]> * fix camera test Signed-off-by: Ian Chen <[email protected]> * make linters happy Signed-off-by: ahcorde <[email protected]> * make linters happy Signed-off-by: ahcorde <[email protected]> * Fix small regression from merge Signed-off-by: Michael Carroll <[email protected]> * Remove problematic leftover files from 2.1 The mere presence of these files can cause incorrect shader generation or unknown visual bugs. IMPORTANT: The installation folder (i.e. CMAKE_INSTALL_PREFIX) must remove them as well. `make install` won't be enough because it won't remove files, only add new ones or update existing ones. This folder is usually installed in ign/install/share/ignition/ignition-rendering6/ogre2/media/Hlms Signed-off-by: Matias N. Goldberg <[email protected]> * Do not crash on shutdown - ogreRoot may be nullptr - Do not destroy textures already scheduled for destruction Signed-off-by: Matias N. Goldberg <[email protected]> * Remove problematic leftover files from 2.1 (#354) The mere presence of these files can cause incorrect shader generation or unknown visual bugs. IMPORTANT: The installation folder (i.e. CMAKE_INSTALL_PREFIX) must remove them as well. `make install` won't be enough because it won't remove files, only add new ones or update existing ones. This folder is usually installed in ign/install/share/ignition/ignition-rendering6/ogre2/media/Hlms Signed-off-by: Matias N. Goldberg <[email protected]> * Do not crash on shutdown (#355) - ogreRoot may be nullptr - Do not destroy textures already scheduled for destruction Signed-off-by: Matias N. Goldberg <[email protected]> * Removed unused variable Signed-off-by: ahcorde <[email protected]> * Restore FSAA support in 2.2 branch Signed-off-by: Matias N. Goldberg <[email protected]> * Fix changing background color not always taking immediate effect Changed pass_clear in favour of LoadAction::Clear which is more efficient on very modern GPUs and specially TBDR ones. Signed-off-by: Matias N. Goldberg <[email protected]> * Changed pass_clear in favour of LoadAction::Clear which is more efficient on very modern GPUs and specially TBDR ones. Signed-off-by: Matias N. Goldberg <[email protected]> * Missing public keyword Signed-off-by: Matias N. Goldberg <[email protected]> * Save VRAM when FSAA is used and no postprocessing There's an unused texture when these conditions are met (which are fairly common) This memory optimization could not be performed in Ogre 2.1, it needs Ogre 2.2+ Signed-off-by: Matias N. Goldberg <[email protected]> * Remove code deprecated in ign-rendering5 Syntax cosmetic changes for consistency Signed-off-by: Matias N. Goldberg <[email protected]> * Remove code deprecated in ign-rendering5 Signed-off-by: Matias N. Goldberg <[email protected]> * Code style fixes Signed-off-by: Matias N. Goldberg <[email protected]> * Undo VRAM saving optimization: It cannot be applied The "Final Composition" node requires both textures to be resident. Thus 2nd texture must always be resident. The optimization could still be applied if we create two Final Composition nodes (one for when 2 textures are needed, another for when only MSAA + 1 texture is needed) but this would: 1. Hurt code readability too much (i.e. what is going on?) 2. Increase debuggability difficulty too much because codepaths taken would differ depending on whether optimization was applied. Also certain bugs could remain hidden until compositors are toggled. This was causing ogre2_demo to fail. Signed-off-by: Matias N. Goldberg <[email protected]> * Merge main branch into Ogre 2.2 and fixes (#359) * Fix floating point precision bug handling alpha channel (#332) (#333) Fixes #332 Fixes #108 Signed-off-by: Matias N. Goldberg <[email protected]> * Test re-enabling depth camera integration test on mac (#335) * Fix floating point precision bug handling alpha channel (#332) Fixes #332 Fixes #108 Signed-off-by: Matias N. Goldberg <[email protected]> * test reenabling depth camera test on mac Signed-off-by: Ian Chen <[email protected]> Co-authored-by: Matias N. Goldberg <[email protected]> * Fix new [] / delete mismatch (#338) Using a custom deallocator to avoid breaking ABI Alternatively C++17 supports the following syntax, which was not used: `typedef std::shared_ptr<unsigned char[]> DataPtr;` Signed-off-by: Matias N. Goldberg <[email protected]> * Fix heap overflow when reading (#337) PF_RGB is 3 bytes. But later on Ogre2SelectionBuffer::OnSelectionClick will try to read 4 bytes from it. Fixed by ensuring it's always at least 4 bytes and zero-initializing those 4 bytes. Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: Ian Chen <[email protected]> * Fix floating point precision bug handling alpha channel (#332) (#333) Fixes #332 Fixes #108 Signed-off-by: Matias N. Goldberg <[email protected]> * Fix depth alpha (#316) * update test Signed-off-by: Ian Chen <[email protected]> * reenable macos test Signed-off-by: Ian Chen <[email protected]> * fix typo Signed-off-by: Ian Chen <[email protected]> * cherry pick f9f1820 and fix conflicts Signed-off-by: Ian Chen <[email protected]> * Fix FSAA in UI and lower VRAM consumption (#313) * Fix FSAA in UI and lower VRAM consumption FSAA was being requested however due to how the compositor was setup, this effect was not taking effect. Additionally, the Compositor setup was improved to lower memory consumption. Originally the setup was taken from Ogre samples which assume they will ultimately be rendering to a window. However this is not the case and thus IGN was creating 3 render targets (two for ping-ponging between postprocess FXs + one for storing the final result) This was optimized so that we only create 2 render targets: two for ping-ponging between postprocess FXs and we pick at runtime which one is storing the final result via the new variable renderTargetResultsIdx Further performance optimizations could be made in Ogre 2.2 to improve unnecessary MSAA resolving when doing postprocess, though considering there's currently only one postprocessing effect (the Gaussian filter) I doubt this optimization would make much of a difference Signed-off-by: Matias N. Goldberg <[email protected]> * Add Ogre2RenderTarget::RenderTarget back Signed-off-by: Matias N. Goldberg <[email protected]> * Rewrote the compositor changes to support RenderWindows As a bonus this new method breaks ABI far less. Fix leak: DestroyCompositor would often not be called Signed-off-by: Matias N. Goldberg <[email protected]> * Mantain ABI compatibility #Ogre2IsRenderWindowABI When merging to newer branches that can break the ABI, revert this commit Signed-off-by: Matias N. Goldberg <[email protected]> * Fix ABI problems I gave up on commit undoing It's clear that on the next release, Ogre2RenderTarget and Ogre2RenderTexture need to be merged together. Signed-off-by: Matias N. Goldberg <[email protected]> * Fix camel case convention Signed-off-by: Matias N. Goldberg <[email protected]> * Make Ogre2RenderTarget::RenderTarget pure virtual again Hopefully this will prevent ABI breakage Signed-off-by: Matias N. Goldberg <[email protected]> * Fix deprecation warnings during build Signed-off-by: Matias N. Goldberg <[email protected]> * Fix invalid write of size 8 This was causing heap corruption. At best it would crash. At worst it would manifeset in subtle weird behaviors Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: Ian Chen <[email protected]> * Backport memory fixes found by ASAN (#340) * Fix heap overflow when reading (#337) PF_RGB is 3 bytes. But later on Ogre2SelectionBuffer::OnSelectionClick will try to read 4 bytes from it. Fixed by ensuring it's always at least 4 bytes and zero-initializing those 4 bytes. Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: Ian Chen <[email protected]> * Fix new [] / delete mismatch (#338) Using a custom deallocator to avoid breaking ABI Alternatively C++17 supports the following syntax, which was not used: `typedef std::shared_ptr<unsigned char[]> DataPtr;` Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: darksylinc <[email protected]> * recreate node only when needed (#342) Signed-off-by: Ian Chen <[email protected]> * Fix custom shaders uniforms ign version number (#343) Signed-off-by: Ian Chen <[email protected]> * relax gaussian test tolerance (#344) Signed-off-by: Ian Chen <[email protected]> * Update light map tutorial (#346) * apply changes Signed-off-by: Ian Chen <[email protected]> * remove line Signed-off-by: Ian Chen <[email protected]> * add ifdef for apple in integration test Signed-off-by: Ian Chen <[email protected]> * 🎈 4.8.0 (#348) Signed-off-by: Louise Poubel <[email protected]> * update ign-rendering version in custom shaders uniform sample Signed-off-by: Ian Chen <[email protected]> * Remove problematic leftover files from 2.1 The mere presence of these files can cause incorrect shader generation or unknown visual bugs. IMPORTANT: The installation folder (i.e. CMAKE_INSTALL_PREFIX) must remove them as well. `make install` won't be enough because it won't remove files, only add new ones or update existing ones. This folder is usually installed in ign/install/share/ignition/ignition-rendering6/ogre2/media/Hlms Signed-off-by: Matias N. Goldberg <[email protected]> * Do not crash on shutdown - ogreRoot may be nullptr - Do not destroy textures already scheduled for destruction Signed-off-by: Matias N. Goldberg <[email protected]> * Restore FSAA support in 2.2 branch Signed-off-by: Matias N. Goldberg <[email protected]> * Fix changing background color not always taking immediate effect Changed pass_clear in favour of LoadAction::Clear which is more efficient on very modern GPUs and specially TBDR ones. Signed-off-by: Matias N. Goldberg <[email protected]> * Changed pass_clear in favour of LoadAction::Clear which is more efficient on very modern GPUs and specially TBDR ones. Signed-off-by: Matias N. Goldberg <[email protected]> * Missing public keyword Signed-off-by: Matias N. Goldberg <[email protected]> * Save VRAM when FSAA is used and no postprocessing There's an unused texture when these conditions are met (which are fairly common) This memory optimization could not be performed in Ogre 2.1, it needs Ogre 2.2+ Signed-off-by: Matias N. Goldberg <[email protected]> * Remove code deprecated in ign-rendering5 Syntax cosmetic changes for consistency Signed-off-by: Matias N. Goldberg <[email protected]> * Remove code deprecated in ign-rendering5 Signed-off-by: Matias N. Goldberg <[email protected]> * Code style fixes Signed-off-by: Matias N. Goldberg <[email protected]> * Undo VRAM saving optimization: It cannot be applied The "Final Composition" node requires both textures to be resident. Thus 2nd texture must always be resident. The optimization could still be applied if we create two Final Composition nodes (one for when 2 textures are needed, another for when only MSAA + 1 texture is needed) but this would: 1. Hurt code readability too much (i.e. what is going on?) 2. Increase debuggability difficulty too much because codepaths taken would differ depending on whether optimization was applied. Also certain bugs could remain hidden until compositors are toggled. This was causing ogre2_demo to fail. Signed-off-by: Matias N. Goldberg <[email protected]> Co-authored-by: Ian Chen <[email protected]> Co-authored-by: Louise Poubel <[email protected]> * Began work on Heightmaps with Ogre2. Very WIP Hardcoded some paths in CMakeLists to get Terra compiling Signed-off-by: Matias N. Goldberg <[email protected]> * Register HlmsTerra Add its Hlms data files Signed-off-by: Matias N. Goldberg <[email protected]> * Update all Terras and show them on screen (WIP) Signed-off-by: Matias N. Goldberg <[email protected]> * Update to latest Terra to get Z-up support Signed-off-by: Matias N. Goldberg <[email protected]> * Better calculation of heightmap size (WIP) Fix crash when heightmap is deleted Update to latest Terra for setCustomSkirtMinHeight Signed-off-by: Matias N. Goldberg <[email protected]> * Fix shader compiler error Signed-off-by: Matias N. Goldberg <[email protected]> * Fix alignment issues in terrain Signed-off-by: Matias N. Goldberg <[email protected]> * Move Terra to its own folder and project Signed-off-by: Matias N. Goldberg <[email protected]> * Enable assert that was accidentally disabled Signed-off-by: Matias N. Goldberg <[email protected]> * Customize Terra for Ignition's requirements Fix barrier assert Signed-off-by: Matias N. Goldberg <[email protected]> * Use custom blending modes to adjust to ign Signed-off-by: Matias N. Goldberg <[email protected]> * HeightmapTexture::Size is in meters, it's not a scale Now it looks close to the reference in ogre1 No longer normalize weights, it's not needed anymore Also fix bug when 5 texture maps could not be supported Signed-off-by: Matias N. Goldberg <[email protected]> * Use same blending algorithm for roughness & metalness Signed-off-by: Matias N. Goldberg <[email protected]> * Deal with edge case where terrain skirts could be above ground Signed-off-by: Matias N. Goldberg <[email protected]> * Fix wrong indentation Remove dead code Signed-off-by: Matias N. Goldberg <[email protected]> * Forgot to push this change Signed-off-by: Matias N. Goldberg <[email protected]> * Disable alpha blending of detail maps for Terrain Signed-off-by: Matias N. Goldberg <[email protected]> * Add terrain shadows to normal objects Signed-off-by: Matias N. Goldberg <[email protected]> * Fix copyright year Signed-off-by: Matias N. Goldberg <[email protected]> * Re-enable ImageHeightmap It shouldn't have been disabled Signed-off-by: Matias N. Goldberg <[email protected]> * Cosmetic changes Signed-off-by: Matias N. Goldberg <[email protected]> * Move Terra's source code into ogre2/src It is ogre2 specific Signed-off-by: Matias N. Goldberg <[email protected]> * Support ogre1 heightmaps via cropping and warn about it Signed-off-by: Matias N. Goldberg <[email protected]> * Support both ogre2 & ogre engines in heightmap sample Default to ogre2 Signed-off-by: Matias N. Goldberg <[email protected]> * Force-disable JSON parts of Terra It's not used by ignition. This avoids detecting rapidjson during ign build Fix Windows build Signed-off-by: Matias N. Goldberg <[email protected]> * Add license to Terra files Signed-off-by: Matias N. Goldberg <[email protected]> * Update to latest version of Terra Adds spotlight & point shadow map support (not working/set yet) Signed-off-by: Matias N. Goldberg <[email protected]> * Add terrain shadows from spot & point lights Use unique_ptr instead of raw ptrs when possible Signed-off-by: Matias N. Goldberg <[email protected]> * Skip Terra headers in cppcheck They should be treated as external code Signed-off-by: Matias N. Goldberg <[email protected]> * fixing tests Signed-off-by: Ian Chen <[email protected]> * add ifdef Signed-off-by: Ian Chen <[email protected]> * suppress warnings Signed-off-by: Ian Chen <[email protected]> * update syntax Signed-off-by: Ian Chen <[email protected]> * update syntax Signed-off-by: Ian Chen <[email protected]> * Fix crash on shutdown due to ptr destroyed too late It should be destroyed before Ogre Root Signed-off-by: Matias N. Goldberg <[email protected]> * Update to latest Terra to fix bug from upstream Upstream OGRECave/ogre-next@d0a01d2 Signed-off-by: Matias N. Goldberg <[email protected]> * Update to latest Hlms from upstream This fixes some compiler bugs with Terra Also adds supports for HlmsPbs::setShadowReceiversInPixelShader which was written specifically for Gazebo Signed-off-by: Matias N. Goldberg <[email protected]> * Fix compiler warning Signed-off-by: Matias N. Goldberg <[email protected]> * Fix Terra shadows on Spot and Point lights Update Terra to latest from upstream Signed-off-by: Matias N. Goldberg <[email protected]> * Fix Terra's point light shadows Terra's workspace listener was being executed before the camera is rotated for cubemap rendering Signed-off-by: Matias N. Goldberg <[email protected]> * Fix documentation Silence warnings from external code to pass build checks Signed-off-by: Matias N. Goldberg <[email protected]> * fixing CI Signed-off-by: Ian Chen <[email protected]> * add include path Signed-off-by: Ian Chen <[email protected]> * windows warning Signed-off-by: Ian Chen <[email protected]> * fix Signed-off-by: Ian Chen <[email protected]> Co-authored-by: ahcorde <[email protected]> Co-authored-by: Michael Carroll <[email protected]> Co-authored-by: Ian Chen <[email protected]> Co-authored-by: Louise Poubel <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PF_RGB is 3 bytes. But later on Ogre2SelectionBuffer::OnSelectionClick
will try to read 4 bytes from it.
Fixed by ensuring it's always at least 4 bytes and zero-initializing
those 4 bytes.
Signed-off-by: Matias N. Goldberg [email protected]
Summary
This is too simple of a fix and self explanatory. We were allocating 3 bytes of data and then reading 4 bytes in
Ogre2SelectionBuffer::OnSelectionClick
.It may be possible to backport to older versions.
Detected by ASAN, just add to ign-rendering/ogre2/src/CMakeLists.txt:
Checklist
codecheck
passed (See contributing)