-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Metal support for the Ogre2 Render Engine (#463)
* [Metal] enable loading of the Metal render system for ogre2 - Add parameter "metal" and a member variable useMetalRenderSystem to Ogre2RenderEngine - Modify LoadPlugins to load the Metal render system if enabled - Modify CreateRenderSystem to select the Metal render system - Modify RegisterHlms to load the Metal resources - Add missing Metal shaders for the Terra (from Ogre2) Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] enable metal render system for some examples Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] add Metal shader for skybox and update material - Add Metal shader for skybox - Update skybox material to support universal shaders - Create subdirectories for GLSL and Metal in media/materials/programs and update Ogre2RenderEngine with new resource locations Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] add Metal and unified shaders to each material (wip) - Add Metal and unified shaders to each material - Add placeholders for a number of shaders to prevent compile errors when running examples Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] enable metal render system for remaining examples [do not merge] - Note: these changes will need to be modified / reverted before merging Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] update examples to accept optional command line option "metal" - Examples accept an additional command line option metal when specifying the ogre2 render engine. - Pass parameters to the createCamera function. Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] fix formatting on example ogre2_demo Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] revert changes to example text_geom - This example is for ogre only (not ogre2) Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] update formatting of shaders - Minor formatting changes to plain_color, point and skybox Metal shaders. Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] port depth_camera and selection_buffer shaders - Port depth_camera_vs and selection_buffer_fs to Metal - The mouse_picker, ogre2_demo and transform_control demos now work correctly. Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] shader formatting - replace tabs with whitespace Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] port gaussian_noise shaders - Port gaussian_noise vertex and pixel shaders from the GLSL counterparts - The ogre2_demo and render_pass examples now work correctly. Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] port thermal_camera pixel shader - Correct error in thermal material script - Port thermal_camera pixel shaders from the GLSL counterparts - The thermal_camera examples now runs but further requires testing Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] add placeholders for remaining shaders - Add stubs for the remaining vertex and pixel shaders to port from GLSL Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] port heat_signature pixel shader Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] port depth_camera and gpu_rays shaders [wip] - Initial ports of depth_camera and gpu_rays shaders - This is work in progress: - On Metal the compositor in Ogre2GpuRay has a pixel format exception - Texture sampling for depth_camera_final_fs.metal is not using the equivalent of OpenGL's texelFetch Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] update custom_scene_viewer example to accept optional command line option "metal" Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] fix fragment program specifier in gaussian noise material - Unified shader had incorrect specifier Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] fix depth camera vertex shader not found in selection buffer material - This is the same issue as fixed in #456 Signed-off-by: Rhys Mainwaring <[email protected]> * switch to user RGBA format for internal textures in gpu ray sensor Signed-off-by: Ian Chen <[email protected]> * [Metal] complete port of gpu rays 1st pass shader - Complete port of the GPU Rays shader - This depends upon the pixel format fix in #468 Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] update shaders to fix lidar near plane clipping - Update Metal shaders to match changes made in PR #356 - Update CrossPlatformSettings_piece to #define outVs_gl_ClipDistance - Update Ign_piece_vs_any to use cross platform version of gl_ClipDistance Signed-off-by: Rhys Mainwaring <[email protected]> * Fix style for code check - Remove line end whitespace causing CI to fail. Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] incorporate review feedback - Revert debug output in Ogre2RenderEngine - Fix codecheck issue with variable declaration shadows previous local - Revert changes to simple_demo_qml - Move useMetalRenderSystem to Ogre2RenderEnginePrivate Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] introduce enum for graphics interface - Add enum class GraphicsAPI to RenderEngine.hh - Add utils class GraphicsAPIUtils for setting enum from string - Update Ogre2RenderEngine to use GraphicsAPI enum - Update examples to use GraphicsAPI enum Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] refactor enum for graphics interface - Move GraphicsAPI to own file Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] fix examples - Fix custom_scene_viewer Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] fix class description - Fix code check - Change GraphicsAPIUtils class documentation - Improve graphics API check in Ogre2RenderEngine Signed-off-by: Rhys Mainwaring <[email protected]> * [Metal] fix codecheck - Fix code check - uninitialised variable warning Signed-off-by: Rhys Mainwaring <[email protected]> Co-authored-by: Ian Chen <[email protected]>
- Loading branch information
1 parent
04a50f8
commit 8e7b7fb
Showing
74 changed files
with
2,595 additions
and
84 deletions.
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
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
Oops, something went wrong.