├── .bazelrc
├── .bazelversion
├── .codespell-ignore
├── .github
├── CODEOWNERS
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── ci
│ ├── after_make.sh
│ ├── packages-jammy.apt
│ ├── packages-noble.apt
│ └── packages.apt
└── workflows
│ ├── bazel.yml
│ ├── ci.bazelrc
│ ├── ci.yml
│ ├── package_xml.yml
│ ├── pr-collection-labeler.yml
│ ├── triage.yml
│ └── windows.yaml
├── .gitignore
├── AUTHORS
├── BUILD.bazel
├── CMakeLists.txt
├── CONTRIBUTING.md
├── Changelog.md
├── LICENSE
├── MODULE.bazel
├── Migration.md
├── NEWS
├── README.md
├── api.md.in
├── coverage.ignore.in
├── cppcheck.suppress.in
├── doc
├── CMakeLists.txt
└── ogre_1-9.tag.xml.tgz
├── examples
├── actor_animation
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── README.md
│ ├── example_config.hh.in
│ └── media
│ │ ├── cmu-13_26.bvh
│ │ └── walk.dae
├── boundingbox_camera
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── duck.dae
│ │ └── duck.png
├── camera_tracking
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ └── Main.cc
├── custom_scene_viewer
│ ├── CMakeLists.txt
│ ├── DemoWindow.cc
│ ├── DemoWindow.hh
│ ├── ManualSceneDemo.cc
│ ├── ManualSceneDemo.hh
│ ├── SceneBuilder.cc
│ ├── SceneBuilder.hh
│ ├── TestTypes.hh
│ ├── example_config.hh.in
│ └── media
│ │ ├── brick_normal.jpg
│ │ └── tiles.jpg
├── custom_shaders
│ ├── CMakeLists.txt
│ ├── custom_shaders.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── depth_fragment_shader.glsl
│ │ ├── depth_vertex_shader.glsl
│ │ ├── fragment_shader.glsl
│ │ └── vertex_shader.glsl
├── custom_shaders_uniforms
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── fragment_shader.glsl
│ │ ├── fragment_shader.metal
│ │ ├── fragment_shader_330.glsl
│ │ ├── vertex_shader.glsl
│ │ ├── vertex_shader.metal
│ │ └── vertex_shader_330.glsl
├── depth_camera
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── duck.dae
│ │ └── duck.png
├── frustum_visual
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ └── Main.cc
├── global_illumination
│ ├── CMakeLists.txt
│ ├── GiConfig.hh
│ ├── Main.cc
│ ├── Sdl2Window.cc
│ ├── Sdl2Window.hh
│ └── example_config.hh.in
├── heightmap
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── city_terrain.jpg
│ │ ├── dirt_diffusespecular.png
│ │ ├── flat_normal.png
│ │ ├── fungus_diffusespecular.png
│ │ ├── grass_diffusespecular.png
│ │ ├── heightmap_bowl.png
│ │ ├── moon.tif
│ │ ├── moon_diffuse.png
│ │ ├── moon_normal.png
│ │ └── volcano.tif
├── hello_world_plugin
│ ├── CMakeLists.txt
│ ├── HelloWorldPlugin.cc
│ └── README.md
├── lidar_visual
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── README.md
│ └── example_config.hh.in
├── lux_core_engine
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── LuxCoreEngine.cc
│ ├── LuxCoreEngineCamera.cc
│ ├── LuxCoreEngineCamera.hh
│ ├── LuxCoreEngineGeometry.cc
│ ├── LuxCoreEngineGeometry.hh
│ ├── LuxCoreEngineLight.cc
│ ├── LuxCoreEngineLight.hh
│ ├── LuxCoreEngineMaterial.cc
│ ├── LuxCoreEngineMaterial.hh
│ ├── LuxCoreEngineMesh.cc
│ ├── LuxCoreEngineMesh.hh
│ ├── LuxCoreEngineMeshFactory.cc
│ ├── LuxCoreEngineMeshFactory.hh
│ ├── LuxCoreEngineNode.cc
│ ├── LuxCoreEngineNode.hh
│ ├── LuxCoreEngineObject.cc
│ ├── LuxCoreEngineObject.hh
│ ├── LuxCoreEngineRenderTarget.cc
│ ├── LuxCoreEngineRenderTarget.hh
│ ├── LuxCoreEngineRenderTypes.hh
│ ├── LuxCoreEngineScene.cc
│ ├── LuxCoreEngineScene.hh
│ ├── LuxCoreEngineSensor.cc
│ ├── LuxCoreEngineSensor.hh
│ ├── LuxCoreEngineVisual.cc
│ ├── LuxCoreEngineVisual.hh
│ ├── Main.cc
│ ├── README.md
│ └── media
│ │ ├── duck.dae
│ │ └── duck.png
├── mesh_viewer
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── AmbulanceStretcher.glb
│ │ ├── duck.dae
│ │ └── duck.png
├── mouse_picking
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ └── Main.cc
├── ogre2_demo
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── backpack.dae
│ │ ├── backpack.png
│ │ ├── duck.dae
│ │ ├── duck.png
│ │ ├── fort_point.dds
│ │ ├── pump.dae
│ │ ├── pump_albedo.png
│ │ ├── pump_metallic.png
│ │ ├── pump_normal.png
│ │ ├── pump_roughness.png
│ │ └── skybox_lowres.dds
├── particles_demo
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── duck.dae
│ │ ├── duck.png
│ │ ├── smoke.png
│ │ └── smokecolors.png
├── projector
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ └── stereo_projection_pattern_high_res_red.png
├── render_pass
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ └── Main.cc
├── segmentation_camera
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── duck.dae
│ │ └── duck.png
├── simple_demo
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ └── Main.cc
├── simple_demo_qml
│ ├── CMakeLists.txt
│ ├── GzRenderer.cc
│ ├── GzRenderer.hh
│ ├── Main.cc
│ ├── Main.qml
│ ├── Main.qrc
│ ├── ThreadRenderer.cpp
│ └── ThreadRenderer.h
├── text_geom
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ └── Main.cc
├── thermal_camera
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── duck.dae
│ │ └── duck.png
├── transform_control
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ └── Main.cc
├── view_control
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ └── Main.cc
├── visualization_demo
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ └── Main.cc
├── waves
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ ├── Main.cc
│ ├── example_config.hh.in
│ └── media
│ │ ├── GerstnerWaves_fs.glsl
│ │ ├── GerstnerWaves_fs.metal
│ │ ├── GerstnerWaves_fs_330.glsl
│ │ ├── GerstnerWaves_vs.glsl
│ │ ├── GerstnerWaves_vs.metal
│ │ ├── GerstnerWaves_vs_330.glsl
│ │ ├── mesh.dae
│ │ ├── skybox_lowres.dds
│ │ └── wave_normals.dds
└── wide_angle_camera
│ ├── CMakeLists.txt
│ ├── GlutWindow.cc
│ ├── GlutWindow.hh
│ └── Main.cc
├── include
├── CMakeLists.txt
└── gz
│ ├── CMakeLists.txt
│ └── rendering
│ ├── ArrowVisual.hh
│ ├── AxisVisual.hh
│ ├── BoundingBox.hh
│ ├── BoundingBoxCamera.hh
│ ├── CMakeLists.txt
│ ├── COMVisual.hh
│ ├── Camera.hh
│ ├── CameraLens.hh
│ ├── Capsule.hh
│ ├── CompositeVisual.hh
│ ├── DepthCamera.hh
│ ├── DistortionPass.hh
│ ├── FrustumVisual.hh
│ ├── GaussianNoisePass.hh
│ ├── Geometry.hh
│ ├── GizmoVisual.hh
│ ├── GlobalIlluminationBase.hh
│ ├── GlobalIlluminationCiVct.hh
│ ├── GlobalIlluminationVct.hh
│ ├── GpuRays.hh
│ ├── GraphicsAPI.hh
│ ├── Grid.hh
│ ├── Heightmap.hh
│ ├── HeightmapDescriptor.hh
│ ├── Image.hh
│ ├── InertiaVisual.hh
│ ├── InstallationDirectories.hh
│ ├── JointVisual.hh
│ ├── LensFlarePass.hh
│ ├── LidarVisual.hh
│ ├── Light.hh
│ ├── LightVisual.hh
│ ├── Marker.hh
│ ├── Material.hh
│ ├── Mesh.hh
│ ├── MeshDescriptor.hh
│ ├── MoveToHelper.hh
│ ├── NativeWindow.hh
│ ├── Node.hh
│ ├── Object.hh
│ ├── OrbitViewController.hh
│ ├── OrthoViewController.hh
│ ├── ParticleEmitter.hh
│ ├── PixelFormat.hh
│ ├── Projector.hh
│ ├── RayQuery.hh
│ ├── RenderEngine.hh
│ ├── RenderEngineManager.hh
│ ├── RenderEnginePlugin.hh
│ ├── RenderEngineVulkanExternalDeviceStructs.hh
│ ├── RenderPass.hh
│ ├── RenderPassSystem.hh
│ ├── RenderTarget.hh
│ ├── RenderTypes.hh
│ ├── RenderingIface.hh
│ ├── Scene.hh
│ ├── SegmentationCamera.hh
│ ├── Sensor.hh
│ ├── ShaderParam.hh
│ ├── ShaderParams.hh
│ ├── ShaderType.hh
│ ├── Storage.hh
│ ├── Text.hh
│ ├── ThermalCamera.hh
│ ├── TransformController.hh
│ ├── TransformType.hh
│ ├── Utils.hh
│ ├── ViewController.hh
│ ├── Visual.hh
│ ├── WideAngleCamera.hh
│ ├── WireBox.hh
│ ├── base
│ ├── BaseArrowVisual.hh
│ ├── BaseAxisVisual.hh
│ ├── BaseBoundingBoxCamera.hh
│ ├── BaseCOMVisual.hh
│ ├── BaseCamera.hh
│ ├── BaseCapsule.hh
│ ├── BaseDepthCamera.hh
│ ├── BaseDistortionPass.hh
│ ├── BaseFrustumVisual.hh
│ ├── BaseGaussianNoisePass.hh
│ ├── BaseGeometry.hh
│ ├── BaseGizmoVisual.hh
│ ├── BaseGlobalIlluminationVct.hh
│ ├── BaseGpuRays.hh
│ ├── BaseGrid.hh
│ ├── BaseHeightmap.hh
│ ├── BaseInertiaVisual.hh
│ ├── BaseJointVisual.hh
│ ├── BaseLensFlarePass.hh
│ ├── BaseLidarVisual.hh
│ ├── BaseLight.hh
│ ├── BaseLightVisual.hh
│ ├── BaseMarker.hh
│ ├── BaseMaterial.hh
│ ├── BaseMesh.hh
│ ├── BaseNativeWindow.hh
│ ├── BaseNode.hh
│ ├── BaseObject.hh
│ ├── BaseParticleEmitter.hh
│ ├── BaseProjector.hh
│ ├── BaseRayQuery.hh
│ ├── BaseRenderEngine.hh
│ ├── BaseRenderPass.hh
│ ├── BaseRenderTarget.hh
│ ├── BaseRenderTypes.hh
│ ├── BaseScene.hh
│ ├── BaseSegmentationCamera.hh
│ ├── BaseSensor.hh
│ ├── BaseStorage.hh
│ ├── BaseText.hh
│ ├── BaseThermalCamera.hh
│ ├── BaseVisual.hh
│ ├── BaseWideAngleCamera.hh
│ ├── BaseWireBox.hh
│ ├── SceneExt.hh
│ └── base.hh.in
│ ├── config.hh.in
│ └── rendering.hh.in
├── ogre
├── include
│ ├── CMakeLists.txt
│ └── gz
│ │ ├── CMakeLists.txt
│ │ └── rendering
│ │ ├── CMakeLists.txt
│ │ └── ogre
│ │ ├── OgreArrowVisual.hh
│ │ ├── OgreAxisVisual.hh
│ │ ├── OgreCOMVisual.hh
│ │ ├── OgreCamera.hh
│ │ ├── OgreCapsule.hh
│ │ ├── OgreConversions.hh
│ │ ├── OgreDepthCamera.hh
│ │ ├── OgreDistortionPass.hh
│ │ ├── OgreDynamicLines.hh
│ │ ├── OgreDynamicRenderable.hh
│ │ ├── OgreFrustumVisual.hh
│ │ ├── OgreGaussianNoisePass.hh
│ │ ├── OgreGeometry.hh
│ │ ├── OgreGizmoVisual.hh
│ │ ├── OgreGpuRays.hh
│ │ ├── OgreGrid.hh
│ │ ├── OgreHeightmap.hh
│ │ ├── OgreIncludes.hh
│ │ ├── OgreInertiaVisual.hh
│ │ ├── OgreJointVisual.hh
│ │ ├── OgreLensFlarePass.hh
│ │ ├── OgreLidarVisual.hh
│ │ ├── OgreLight.hh
│ │ ├── OgreLightVisual.hh
│ │ ├── OgreMarker.hh
│ │ ├── OgreMaterial.hh
│ │ ├── OgreMaterialSwitcher.hh
│ │ ├── OgreMesh.hh
│ │ ├── OgreMeshFactory.hh
│ │ ├── OgreNode.hh
│ │ ├── OgreObject.hh
│ │ ├── OgreObjectInterface.hh
│ │ ├── OgreParticleEmitter.hh
│ │ ├── OgreProjector.hh
│ │ ├── OgreRTShaderSystem.hh
│ │ ├── OgreRayQuery.hh
│ │ ├── OgreRenderEngine.hh
│ │ ├── OgreRenderPass.hh
│ │ ├── OgreRenderTarget.hh
│ │ ├── OgreRenderTargetMaterial.hh
│ │ ├── OgreRenderTypes.hh
│ │ ├── OgreScene.hh
│ │ ├── OgreSelectionBuffer.hh
│ │ ├── OgreSensor.hh
│ │ ├── OgreStorage.hh
│ │ ├── OgreText.hh
│ │ ├── OgreThermalCamera.hh
│ │ ├── OgreVisual.hh
│ │ ├── OgreWideAngleCamera.hh
│ │ ├── OgreWireBox.hh
│ │ └── ogre.hh.in
└── src
│ ├── CMakeLists.txt
│ ├── OgreArrowVisual.cc
│ ├── OgreAxisVisual.cc
│ ├── OgreCOMVisual.cc
│ ├── OgreCamera.cc
│ ├── OgreCapsule.cc
│ ├── OgreConversions.cc
│ ├── OgreDepthCamera.cc
│ ├── OgreDistortionPass.cc
│ ├── OgreDynamicLines.cc
│ ├── OgreDynamicRenderable.cc
│ ├── OgreFrustumVisual.cc
│ ├── OgreGaussianNoisePass.cc
│ ├── OgreGeometry.cc
│ ├── OgreGizmoVisual.cc
│ ├── OgreGpuRays.cc
│ ├── OgreGrid.cc
│ ├── OgreHeightmap.cc
│ ├── OgreInertiaVisual.cc
│ ├── OgreJointVisual.cc
│ ├── OgreLensFlarePass.cc
│ ├── OgreLidarVisual.cc
│ ├── OgreLight.cc
│ ├── OgreLightVisual.cc
│ ├── OgreMarker.cc
│ ├── OgreMaterial.cc
│ ├── OgreMaterialSwitcher.cc
│ ├── OgreMesh.cc
│ ├── OgreMeshFactory.cc
│ ├── OgreNode.cc
│ ├── OgreObject.cc
│ ├── OgreObjectInterface.cc
│ ├── OgreParticleEmitter.cc
│ ├── OgreProjector.cc
│ ├── OgreRTShaderSystem.cc
│ ├── OgreRayQuery.cc
│ ├── OgreRenderEngine.cc
│ ├── OgreRenderPass.cc
│ ├── OgreRenderTarget.cc
│ ├── OgreRenderTargetMaterial.cc
│ ├── OgreScene.cc
│ ├── OgreSelectionBuffer.cc
│ ├── OgreSensor.cc
│ ├── OgreText.cc
│ ├── OgreThermalCamera.cc
│ ├── OgreVisual.cc
│ ├── OgreWideAngleCamera.cc
│ ├── OgreWireBox.cc
│ └── media
│ ├── CMakeLists.txt
│ ├── fonts
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── console.ttf
│ ├── font_matisse_itc.png
│ ├── gz-rendering.fontdef
│ ├── liberation-sans
│ │ ├── LiberationSans-Bold.ttf
│ │ ├── LiberationSans-BoldItalic.ttf
│ │ ├── LiberationSans-Italic.ttf
│ │ ├── LiberationSans-Regular.ttf
│ │ └── SIL Open Font License.txt
│ └── roboto
│ │ ├── LICENSE.txt
│ │ ├── Roboto-Black.ttf
│ │ ├── Roboto-BlackItalic.ttf
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-BoldItalic.ttf
│ │ ├── Roboto-Italic.ttf
│ │ ├── Roboto-Light.ttf
│ │ ├── Roboto-LightItalic.ttf
│ │ ├── Roboto-Medium.ttf
│ │ ├── Roboto-MediumItalic.ttf
│ │ ├── Roboto-Regular.ttf
│ │ ├── Roboto-Thin.ttf
│ │ └── Roboto-ThinItalic.ttf
│ ├── materials
│ ├── CMakeLists.txt
│ ├── programs
│ │ ├── CMakeLists.txt
│ │ ├── camera_distortion_map_fs.glsl
│ │ ├── camera_distortion_map_vs.glsl
│ │ ├── depth_fragment_shader.glsl
│ │ ├── depth_points_fs.glsl
│ │ ├── depth_points_vs.glsl
│ │ ├── depth_vertex_shader.glsl
│ │ ├── fragment_shader.glsl
│ │ ├── gaussian_noise_fs.glsl
│ │ ├── gaussian_noise_vs.glsl
│ │ ├── gpu_rays_1st_pass_fs.glsl
│ │ ├── gpu_rays_1st_pass_vs.glsl
│ │ ├── gpu_rays_2nd_pass_fs.glsl
│ │ ├── gpu_rays_2nd_pass_vs.glsl
│ │ ├── heat_source_fs.glsl
│ │ ├── lens_flare_fs.glsl
│ │ ├── lens_flare_vs.glsl
│ │ ├── plain_color_fs.glsl
│ │ ├── plain_color_vs.glsl
│ │ ├── point_fs.glsl
│ │ ├── point_vs.glsl
│ │ ├── shadow_caster_fp.glsl
│ │ ├── shadow_caster_vp.glsl
│ │ ├── thermal_camera_fs.glsl
│ │ ├── vertex_shader.glsl
│ │ ├── wide_lens_map_fp.glsl
│ │ └── wide_lens_map_vs.glsl
│ ├── scripts
│ │ ├── CMakeLists.txt
│ │ ├── distortion.compositor
│ │ ├── distortion.material
│ │ ├── gaussian_noise.compositor
│ │ ├── gaussian_noise.material
│ │ ├── gpu_rays.material
│ │ ├── lens_flare.compositor
│ │ ├── lens_flare.material
│ │ ├── picker.material
│ │ ├── point_cloud_point.material
│ │ ├── pssm.material
│ │ ├── thermal.material
│ │ ├── thermal_camera.compositor
│ │ ├── wide_angle_camera.material
│ │ └── wide_camera_lens_map.compositor
│ └── textures
│ │ ├── CMakeLists.txt
│ │ └── projection_filter.png
│ └── rtshaderlib150
│ ├── CMakeLists.txt
│ ├── FFPLib_Common.glsl
│ ├── FFPLib_Fog.glsl
│ ├── FFPLib_Lighting.glsl
│ ├── FFPLib_Texturing.glsl
│ ├── FFPLib_Transform.glsl
│ ├── SGXLib_IntegratedPSSM.glsl
│ ├── SGXLib_NormalMapLighting.glsl
│ ├── SGXLib_PerPixelLighting.glsl
│ └── SampleLib_ReflectionMap.glsl
├── ogre2
├── include
│ ├── CMakeLists.txt
│ └── gz
│ │ ├── CMakeLists.txt
│ │ └── rendering
│ │ ├── CMakeLists.txt
│ │ └── ogre2
│ │ ├── Ogre2ArrowVisual.hh
│ │ ├── Ogre2AxisVisual.hh
│ │ ├── Ogre2BoundingBoxCamera.hh
│ │ ├── Ogre2COMVisual.hh
│ │ ├── Ogre2Camera.hh
│ │ ├── Ogre2Capsule.hh
│ │ ├── Ogre2Conversions.hh
│ │ ├── Ogre2DepthCamera.hh
│ │ ├── Ogre2DynamicRenderable.hh
│ │ ├── Ogre2FrustumVisual.hh
│ │ ├── Ogre2GaussianNoisePass.hh
│ │ ├── Ogre2Geometry.hh
│ │ ├── Ogre2GizmoVisual.hh
│ │ ├── Ogre2GlobalIlluminationCiVct.hh
│ │ ├── Ogre2GlobalIlluminationVct.hh
│ │ ├── Ogre2GpuRays.hh
│ │ ├── Ogre2Grid.hh
│ │ ├── Ogre2GzOgreRenderingMode.hh
│ │ ├── Ogre2Heightmap.hh
│ │ ├── Ogre2Includes.hh
│ │ ├── Ogre2InertiaVisual.hh
│ │ ├── Ogre2JointVisual.hh
│ │ ├── Ogre2LensFlarePass.hh
│ │ ├── Ogre2LidarVisual.hh
│ │ ├── Ogre2Light.hh
│ │ ├── Ogre2LightVisual.hh
│ │ ├── Ogre2Marker.hh
│ │ ├── Ogre2Material.hh
│ │ ├── Ogre2MaterialSwitcher.hh
│ │ ├── Ogre2Mesh.hh
│ │ ├── Ogre2MeshFactory.hh
│ │ ├── Ogre2NativeWindow.hh
│ │ ├── Ogre2Node.hh
│ │ ├── Ogre2Object.hh
│ │ ├── Ogre2ObjectInterface.hh
│ │ ├── Ogre2ParticleEmitter.hh
│ │ ├── Ogre2Projector.hh
│ │ ├── Ogre2RayQuery.hh
│ │ ├── Ogre2RenderEngine.hh
│ │ ├── Ogre2RenderPass.hh
│ │ ├── Ogre2RenderTarget.hh
│ │ ├── Ogre2RenderTargetMaterial.hh
│ │ ├── Ogre2RenderTypes.hh
│ │ ├── Ogre2Scene.hh
│ │ ├── Ogre2SegmentationCamera.hh
│ │ ├── Ogre2SelectionBuffer.hh
│ │ ├── Ogre2Sensor.hh
│ │ ├── Ogre2Storage.hh
│ │ ├── Ogre2ThermalCamera.hh
│ │ ├── Ogre2Visual.hh
│ │ ├── Ogre2WideAngleCamera.hh
│ │ ├── Ogre2WireBox.hh
│ │ └── ogre2.hh.in
└── src
│ ├── CMakeLists.txt
│ ├── Ogre2ArrowVisual.cc
│ ├── Ogre2AxisVisual.cc
│ ├── Ogre2BoundingBoxCamera.cc
│ ├── Ogre2BoundingBoxMaterialSwitcher.cc
│ ├── Ogre2BoundingBoxMaterialSwitcher.hh
│ ├── Ogre2COMVisual.cc
│ ├── Ogre2Camera.cc
│ ├── Ogre2Capsule.cc
│ ├── Ogre2Conversions.cc
│ ├── Ogre2DepthCamera.cc
│ ├── Ogre2DynamicRenderable.cc
│ ├── Ogre2FrustumVisual.cc
│ ├── Ogre2GaussianNoisePass.cc
│ ├── Ogre2Geometry.cc
│ ├── Ogre2GizmoVisual.cc
│ ├── Ogre2GlobalIlluminationCiVct.cc
│ ├── Ogre2GlobalIlluminationVct.cc
│ ├── Ogre2GpuRays.cc
│ ├── Ogre2Grid.cc
│ ├── Ogre2GzHlmsPbsPrivate.cc
│ ├── Ogre2GzHlmsPbsPrivate.hh
│ ├── Ogre2GzHlmsSharedPrivate.cc
│ ├── Ogre2GzHlmsSharedPrivate.hh
│ ├── Ogre2GzHlmsSphericalClipMinDistance.cc
│ ├── Ogre2GzHlmsSphericalClipMinDistance.hh
│ ├── Ogre2GzHlmsTerraPrivate.cc
│ ├── Ogre2GzHlmsTerraPrivate.hh
│ ├── Ogre2GzHlmsUnlitPrivate.cc
│ ├── Ogre2GzHlmsUnlitPrivate.hh
│ ├── Ogre2Heightmap.cc
│ ├── Ogre2InertiaVisual.cc
│ ├── Ogre2JointVisual.cc
│ ├── Ogre2LensFlarePass.cc
│ ├── Ogre2LidarVisual.cc
│ ├── Ogre2Light.cc
│ ├── Ogre2LightVisual.cc
│ ├── Ogre2Marker.cc
│ ├── Ogre2Material.cc
│ ├── Ogre2MaterialSwitcher.cc
│ ├── Ogre2Mesh.cc
│ ├── Ogre2MeshFactory.cc
│ ├── Ogre2NativeWindow.cc
│ ├── Ogre2Node.cc
│ ├── Ogre2Object.cc
│ ├── Ogre2ObjectInterface.cc
│ ├── Ogre2ParticleEmitter.cc
│ ├── Ogre2ParticleNoiseListener.cc
│ ├── Ogre2ParticleNoiseListener.hh
│ ├── Ogre2Projector.cc
│ ├── Ogre2RayQuery.cc
│ ├── Ogre2RenderEngine.cc
│ ├── Ogre2RenderPass.cc
│ ├── Ogre2RenderTarget.cc
│ ├── Ogre2RenderTargetMaterial.cc
│ ├── Ogre2Scene.cc
│ ├── Ogre2SegmentationCamera.cc
│ ├── Ogre2SegmentationMaterialSwitcher.cc
│ ├── Ogre2SegmentationMaterialSwitcher.hh
│ ├── Ogre2SelectionBuffer.cc
│ ├── Ogre2Sensor.cc
│ ├── Ogre2ThermalCamera.cc
│ ├── Ogre2Visual.cc
│ ├── Ogre2WideAngleCamera.cc
│ ├── Ogre2WireBox.cc
│ ├── media
│ ├── 2.0
│ │ └── scripts
│ │ │ └── materials
│ │ │ ├── Common
│ │ │ ├── Copyback.material
│ │ │ ├── DPSM.material
│ │ │ ├── DepthUtils.material
│ │ │ ├── EsmGaussianBlurLogFilter.material
│ │ │ ├── EsmGaussianBlurLogFilter.material.json
│ │ │ ├── GLSL
│ │ │ │ ├── Copyback_1xFP32_ps.glsl
│ │ │ │ ├── Copyback_3xFP32_ps.glsl
│ │ │ │ ├── Copyback_4xFP32_2DArray_ps.glsl
│ │ │ │ ├── Copyback_4xFP32_ps.glsl
│ │ │ │ ├── CubeToDpm_4xFP16_ps.glsl
│ │ │ │ ├── CubeToDpsm_ps.glsl
│ │ │ │ ├── DepthDownscaleMax_ps.glsl
│ │ │ │ ├── EsmGaussianBlurLogFilter_cs.glsl
│ │ │ │ ├── GaussianBlurBase_cs.glsl
│ │ │ │ ├── GaussianBlurLogFilterBase_cs.glsl
│ │ │ │ ├── GaussianBlurLogFilter_ps.glsl
│ │ │ │ ├── HiddenAreaMeshVr_ps.glsl
│ │ │ │ ├── HiddenAreaMeshVr_vs.glsl
│ │ │ │ ├── MipmapsGaussianBlur_cs.glsl
│ │ │ │ ├── PccDepthCompressor_ps.glsl
│ │ │ │ ├── QuadCameraDirNoUV_vs.glsl
│ │ │ │ ├── QuadCameraDir_vs.glsl
│ │ │ │ ├── Quad_vs.glsl
│ │ │ │ ├── RadialDensityMask_ps.glsl
│ │ │ │ ├── RadialDensityMask_vs.glsl
│ │ │ │ ├── Resolve_1xFP32_Subsample0_ps.glsl
│ │ │ │ ├── SkyCubemap_ps.glsl
│ │ │ │ └── SkyEquirectangular_ps.glsl
│ │ │ ├── Metal
│ │ │ │ ├── Copyback_1xFP32_ps.metal
│ │ │ │ ├── Copyback_3xFP32_ps.metal
│ │ │ │ ├── Copyback_4xFP32_2DArray_ps.metal
│ │ │ │ ├── Copyback_4xFP32_ps.metal
│ │ │ │ ├── CubeToDpm_4xFP16_ps.metal
│ │ │ │ ├── CubeToDpsm_ps.metal
│ │ │ │ ├── DepthDownscaleMax_ps.metal
│ │ │ │ ├── EsmGaussianBlurLogFilter_cs.metal
│ │ │ │ ├── GaussianBlurBase_cs.metal
│ │ │ │ ├── GaussianBlurLogFilterBase_cs.metal
│ │ │ │ ├── GaussianBlurLogFilter_ps.metal
│ │ │ │ ├── HiddenAreaMeshVr_ps.metal
│ │ │ │ ├── HiddenAreaMeshVr_vs.metal
│ │ │ │ ├── MipmapsGaussianBlur_cs.metal
│ │ │ │ ├── PccDepthCompressor_ps.metal
│ │ │ │ ├── QuadCameraDirNoUV_vs.metal
│ │ │ │ ├── QuadCameraDir_vs.metal
│ │ │ │ ├── Quad_vs.metal
│ │ │ │ ├── RadialDensityMask_ps.metal
│ │ │ │ ├── RadialDensityMask_vs.metal
│ │ │ │ ├── Resolve_1xFP32_Subsample0_ps.metal
│ │ │ │ ├── SkyCubemap_ps.metal
│ │ │ │ └── SkyEquirectangular_ps.metal
│ │ │ ├── Mipmaps.material.json
│ │ │ ├── Quad.program
│ │ │ ├── brtfLutDfg.dds
│ │ │ ├── ltcMatrix0.dds
│ │ │ └── ltcMatrix1.dds
│ │ │ └── Terra
│ │ │ ├── GLSL
│ │ │ ├── GpuNormalMapper_ps.glsl
│ │ │ ├── TerraGaussianBlur_cs.glsl
│ │ │ └── TerraShadowGenerator.glsl
│ │ │ ├── GpuNormalMapper.compositor
│ │ │ ├── GpuNormalMapper.material
│ │ │ ├── Metal
│ │ │ ├── GpuNormalMapper_ps.metal
│ │ │ ├── TerraGaussianBlur_cs.metal
│ │ │ └── TerraShadowGenerator.metal
│ │ │ ├── TerraShadowGenerator.compositor
│ │ │ └── TerraShadowGenerator.material.json
│ ├── Compute
│ │ └── Tools
│ │ │ ├── Any
│ │ │ └── sRGB.any
│ │ │ ├── ClearUav.material.json
│ │ │ ├── GLSL
│ │ │ └── ClearUav_cs.glsl
│ │ │ ├── HLSL
│ │ │ └── ClearUav_cs.hlsl
│ │ │ └── Metal
│ │ │ └── ClearUav_cs.metal
│ ├── Hlms
│ │ ├── Common
│ │ │ ├── Any
│ │ │ │ ├── Cubemap_piece_all.any
│ │ │ │ ├── DualParaboloid_piece_ps.any
│ │ │ │ ├── ReverseDepthHelpers_piece_ps.any
│ │ │ │ ├── ShadowCaster_piece_ps.any
│ │ │ │ ├── ShadowCaster_piece_vs.any
│ │ │ │ └── UnpackHelpers_piece_all.any
│ │ │ ├── GLSL
│ │ │ │ ├── CrossPlatformSettings_piece_all.glsl
│ │ │ │ ├── Matrix_piece_all.glsl
│ │ │ │ ├── QuaternionCode_piece_all.glsl
│ │ │ │ ├── RenderDepthOnly_piece_ps.glsl
│ │ │ │ └── UavCrossPlatform_piece_all.glsl
│ │ │ ├── GLSLES
│ │ │ │ ├── CrossPlatformSettings_piece_all.glsl
│ │ │ │ ├── Matrix_piece_all.glsl
│ │ │ │ ├── QuaternionCode_piece_all.glsl
│ │ │ │ └── RenderDepthOnly_piece_ps.glsl
│ │ │ ├── HLSL
│ │ │ │ ├── CrossPlatformSettings_piece_all.hlsl
│ │ │ │ ├── Matrix_piece_all.hlsl
│ │ │ │ ├── QuaternionCode_piece_all.hlsl
│ │ │ │ ├── RenderDepthOnly_piece_ps.hlsl
│ │ │ │ └── UavCrossPlatform_piece_all.hlsl
│ │ │ └── Metal
│ │ │ │ ├── CrossPlatformSettings_piece_all.metal
│ │ │ │ ├── Matrix_piece_all.metal
│ │ │ │ ├── QuaternionCode_piece_all.metal
│ │ │ │ ├── RenderDepthOnly_piece_ps.metal
│ │ │ │ └── UavCrossPlatform_piece_all.metal
│ │ ├── Gz
│ │ │ ├── Pbs
│ │ │ │ ├── 500.GzPbsStructs_piece_all.any
│ │ │ │ ├── 800.GzPbsCode_piece_ps.any
│ │ │ │ └── 800.GzPbsCode_piece_vs.any
│ │ │ ├── SolidColor
│ │ │ │ ├── 500.GzSolidColorStructs_piece_all.any
│ │ │ │ ├── 800.GzSolidColor_piece_ps.any
│ │ │ │ └── 800.GzSolidColor_piece_vs.any
│ │ │ └── SphericalClipMinDistance
│ │ │ │ ├── GzSphericalClipMinDistance_piece_vs.any
│ │ │ │ └── SphericalClipMinDistanceStructs_piece_all.any
│ │ ├── Pbs
│ │ │ ├── Any
│ │ │ │ ├── 200.TextureRegisters_piece_vs.any
│ │ │ │ ├── AmbientLighting_piece_ps.any
│ │ │ │ ├── AreaLights_LTC_piece_ps.any
│ │ │ │ ├── AreaLights_piece_ps.any
│ │ │ │ ├── ClearCoat_piece_ps.any
│ │ │ │ ├── ForwardPlus_DecalsCubemaps_piece_ps.any
│ │ │ │ ├── IrradianceField_piece_all.any
│ │ │ │ ├── IrradianceField_piece_ps.any
│ │ │ │ ├── IrradianceVolume_piece_ps.any
│ │ │ │ ├── LightProfiles_piece_ps.any
│ │ │ │ ├── Main
│ │ │ │ │ ├── 200.BRDFs_piece_ps.any
│ │ │ │ │ ├── 200.BlendModes_piece_ps.any
│ │ │ │ │ ├── 200.DetailMaps_piece_ps.any
│ │ │ │ │ ├── 200.ForwardPlus_piece_ps.any
│ │ │ │ │ ├── 200.Textures_piece_ps.any
│ │ │ │ │ ├── 500.Structs_piece_vs_piece_ps.any
│ │ │ │ │ ├── 800.PixelShader_piece_ps.any
│ │ │ │ │ └── 800.VertexShader_piece_vs.any
│ │ │ │ ├── PlanarReflections_piece_all.any
│ │ │ │ ├── PlanarReflections_piece_ps.any
│ │ │ │ ├── Refractions_piece_ps.any
│ │ │ │ ├── ShadowMapping_piece_all.any
│ │ │ │ ├── ShadowMapping_piece_ps.any
│ │ │ │ ├── ShadowMapping_piece_vs.any
│ │ │ │ ├── UvModifierMacros_piece_ps.any
│ │ │ │ ├── Vct_piece_all.any
│ │ │ │ └── Vct_piece_ps.any
│ │ │ ├── GLSL
│ │ │ │ ├── Forward3D_piece_ps.glsl
│ │ │ │ ├── PixelShader_ps.glsl
│ │ │ │ └── VertexShader_vs.glsl
│ │ │ ├── GLSLES
│ │ │ │ ├── BRDFs_piece_ps.glsl
│ │ │ │ ├── BlendModes_piece_ps.glsl
│ │ │ │ ├── DetailMaps_piece_ps.glsl
│ │ │ │ ├── Forward3D_piece_ps.glsl
│ │ │ │ ├── IrradianceVolume_piece_ps.glsl
│ │ │ │ ├── PixelShader_ps.glsl
│ │ │ │ ├── Structs_piece_vs_piece_ps.glsl
│ │ │ │ ├── Textures_piece_ps.glsl
│ │ │ │ └── VertexShader_vs.glsl
│ │ │ ├── HLSL
│ │ │ │ ├── Forward3D_piece_ps.hlsl
│ │ │ │ ├── PixelShader_ps.hlsl
│ │ │ │ ├── Textures_piece_ps.hlsl
│ │ │ │ └── VertexShader_vs.hlsl
│ │ │ └── Metal
│ │ │ │ ├── Forward3D_piece_ps.metal
│ │ │ │ ├── PixelShader_ps.metal
│ │ │ │ ├── Textures_piece_ps.metal
│ │ │ │ └── VertexShader_vs.metal
│ │ ├── Terra
│ │ │ ├── Any
│ │ │ │ ├── 200.Textures_piece_ps.any
│ │ │ │ ├── 500.Structs_piece_vs_piece_ps.any
│ │ │ │ ├── 800.PixelShader_piece_ps.any
│ │ │ │ └── 800.VertexShader_piece_vs.any
│ │ │ ├── GLSL
│ │ │ │ ├── PbsTerraShadows
│ │ │ │ │ └── PbsTerraShadows_piece_vs_piece_ps.glsl
│ │ │ │ ├── PixelShader_ps.glsl
│ │ │ │ └── VertexShader_vs.glsl
│ │ │ ├── HLSL
│ │ │ │ ├── PbsTerraShadows
│ │ │ │ │ └── PbsTerraShadows_piece_vs_piece_ps.hlsl
│ │ │ │ ├── PixelShader_ps.hlsl
│ │ │ │ └── VertexShader_vs.hlsl
│ │ │ ├── Metal
│ │ │ │ ├── PbsTerraShadows
│ │ │ │ │ └── PbsTerraShadows_piece_vs_piece_ps.metal
│ │ │ │ ├── PixelShader_ps.metal
│ │ │ │ └── VertexShader_vs.metal
│ │ │ └── gz
│ │ │ │ ├── 100.gz_CustomVs_piece_vs.any
│ │ │ │ ├── 100.gz_CustomWeights_piece_ps.any
│ │ │ │ └── 500.gz_Structs_piece_all.any
│ │ └── Unlit
│ │ │ ├── Any
│ │ │ ├── 500.StructsUnlit_piece_all.any
│ │ │ ├── 700.BlendModes_piece_ps.any
│ │ │ ├── 800.PixelShader_piece_ps.any
│ │ │ └── 800.VertexShader_piece_vs.any
│ │ │ ├── GLSL
│ │ │ ├── PixelShader_ps.glsl
│ │ │ └── VertexShader_vs.glsl
│ │ │ ├── GLSLES
│ │ │ ├── BlendModes_piece_ps.glsl
│ │ │ ├── PixelShader_ps.glsl
│ │ │ ├── Structs_piece_vs_piece_ps.glsl
│ │ │ └── VertexShader_vs.glsl
│ │ │ ├── HLSL
│ │ │ ├── PixelShader_ps.hlsl
│ │ │ └── VertexShader_vs.hlsl
│ │ │ └── Metal
│ │ │ ├── PixelShader_ps.metal
│ │ │ └── VertexShader_vs.metal
│ ├── VCT
│ │ ├── AabbCalcultor_cs.glsl
│ │ ├── AabbCalcultor_cs.hlsl
│ │ ├── AabbCalcultor_cs.metal
│ │ ├── AabbCalcultor_piece_cs.any
│ │ ├── AabbWorldSpace_cs.glsl
│ │ ├── AabbWorldSpace_cs.hlsl
│ │ ├── AabbWorldSpace_cs.metal
│ │ ├── AabbWorldSpace_piece_cs.any
│ │ ├── AnisotropicMipVctStep0_cs.glsl
│ │ ├── AnisotropicMipVctStep0_cs.hlsl
│ │ ├── AnisotropicMipVctStep0_cs.metal
│ │ ├── AnisotropicMipVctStep0_piece_cs.any
│ │ ├── AnisotropicMipVctStep1_cs.glsl
│ │ ├── AnisotropicMipVctStep1_cs.hlsl
│ │ ├── AnisotropicMipVctStep1_cs.metal
│ │ ├── AnisotropicMipVctStep1_piece_cs.any
│ │ ├── ImageVoxelizer
│ │ │ ├── ImageVoxelizer_cs.glsl
│ │ │ ├── ImageVoxelizer_cs.hlsl
│ │ │ ├── ImageVoxelizer_cs.metal
│ │ │ ├── ImageVoxelizer_piece_cs.any
│ │ │ ├── VoxelPartialClear_cs.glsl
│ │ │ ├── VoxelPartialClear_cs.hlsl
│ │ │ ├── VoxelPartialClear_cs.metal
│ │ │ └── VoxelPartialClear_piece_cs.any
│ │ ├── LightInjection_cs.glsl
│ │ ├── LightInjection_cs.hlsl
│ │ ├── LightInjection_cs.metal
│ │ ├── LightInjection_piece_cs.any
│ │ ├── LightVctBounceInject_cs.glsl
│ │ ├── LightVctBounceInject_cs.hlsl
│ │ ├── LightVctBounceInject_cs.metal
│ │ ├── LightVctBounceInject_piece_cs.any
│ │ ├── VctTexDownsample.compositor
│ │ ├── Visualizer
│ │ │ ├── VoxelVisualizer.material
│ │ │ ├── VoxelVisualizer_ps.glsl
│ │ │ ├── VoxelVisualizer_ps.hlsl
│ │ │ ├── VoxelVisualizer_ps.metal
│ │ │ ├── VoxelVisualizer_vs.any
│ │ │ ├── VoxelVisualizer_vs.glsl
│ │ │ ├── VoxelVisualizer_vs.hlsl
│ │ │ └── VoxelVisualizer_vs.metal
│ │ ├── Voxelizer.material.json
│ │ ├── Voxelizer_cs.glsl
│ │ ├── Voxelizer_cs.hlsl
│ │ ├── Voxelizer_cs.metal
│ │ └── Voxelizer_piece_cs.any
│ └── materials
│ │ ├── programs
│ │ ├── GLSL
│ │ │ ├── depth_camera_final_fs.glsl
│ │ │ ├── depth_camera_final_vs.glsl
│ │ │ ├── depth_camera_fs.glsl
│ │ │ ├── depth_camera_vs.glsl
│ │ │ ├── gaussian_noise_depth_fs.glsl
│ │ │ ├── gaussian_noise_fs.glsl
│ │ │ ├── gaussian_noise_vs.glsl
│ │ │ ├── gpu_rays_1st_pass_fs.glsl
│ │ │ ├── gpu_rays_1st_pass_vs.glsl
│ │ │ ├── gpu_rays_2nd_pass_fs.glsl
│ │ │ ├── heat_signature_fs.glsl
│ │ │ ├── lens_flare_fs.glsl
│ │ │ ├── plain_color_fs.glsl
│ │ │ ├── plain_color_vs.glsl
│ │ │ ├── point_fs.glsl
│ │ │ ├── point_vs.glsl
│ │ │ ├── selection_buffer_fs.glsl
│ │ │ ├── skybox_fs.glsl
│ │ │ ├── skybox_vs.glsl
│ │ │ ├── thermal_camera_fs.glsl
│ │ │ ├── wide_lens_map_fp.glsl
│ │ │ └── wide_lens_map_vs.glsl
│ │ └── Metal
│ │ │ ├── depth_camera_final_fs.metal
│ │ │ ├── depth_camera_final_vs.metal
│ │ │ ├── depth_camera_fs.metal
│ │ │ ├── depth_camera_vs.metal
│ │ │ ├── gaussian_noise_depth_fs.metal
│ │ │ ├── gaussian_noise_fs.metal
│ │ │ ├── gaussian_noise_vs.metal
│ │ │ ├── gpu_rays_1st_pass_fs.metal
│ │ │ ├── gpu_rays_1st_pass_vs.metal
│ │ │ ├── gpu_rays_2nd_pass_fs.metal
│ │ │ ├── heat_signature_fs.metal
│ │ │ ├── lens_flare_fs.metal
│ │ │ ├── plain_color_fs.metal
│ │ │ ├── plain_color_vs.metal
│ │ │ ├── point_fs.metal
│ │ │ ├── point_vs.metal
│ │ │ ├── selection_buffer_fs.metal
│ │ │ ├── skybox_fs.metal
│ │ │ ├── skybox_vs.metal
│ │ │ ├── thermal_camera_fs.metal
│ │ │ ├── wide_lens_map_fp.metal
│ │ │ └── wide_lens_map_vs.metal
│ │ ├── scripts
│ │ ├── GpuRays.compositor
│ │ ├── depth_camera.material
│ │ ├── gaussian_noise.material
│ │ ├── gpu_rays.material
│ │ ├── lens_flare.compositor
│ │ ├── lens_flare.material
│ │ ├── picker.material
│ │ ├── picker.program
│ │ ├── point_cloud_point.material
│ │ ├── selection_buffer.material
│ │ ├── skybox.material
│ │ ├── thermal.material
│ │ ├── wide_angle_camera.compositor
│ │ └── wide_angle_camera.material
│ │ └── textures
│ │ └── skybox.dds
│ └── terrain
│ └── Terra
│ ├── CMakeLists.txt
│ ├── include
│ └── Terra
│ │ ├── Hlms
│ │ ├── OgreHlmsJsonTerra.h
│ │ ├── OgreHlmsTerra.h
│ │ ├── OgreHlmsTerraDatablock.h
│ │ ├── OgreHlmsTerraPrerequisites.h
│ │ └── PbsListener
│ │ │ └── OgreHlmsPbsTerraShadows.h
│ │ ├── Terra.h
│ │ ├── TerraShadowMapper.h
│ │ ├── TerraWorkspaceListener.h
│ │ └── TerrainCell.h
│ └── src
│ ├── Hlms
│ ├── OgreHlmsJsonTerra.cpp
│ ├── OgreHlmsTerra.cpp
│ ├── OgreHlmsTerraDatablock.cpp
│ ├── OgreHlmsTerraDatablock.cpp.inc
│ └── PbsListener
│ │ └── OgreHlmsPbsTerraShadows.cpp
│ ├── Terra.cpp
│ ├── TerraShadowMapper.cpp
│ ├── TerraWorkspaceListener.cpp
│ └── TerrainCell.cpp
├── optix
├── include
│ ├── CMakeLists.txt
│ └── gz
│ │ ├── CMakeLists.txt
│ │ └── rendering
│ │ └── optix
│ │ ├── OptixArrowVisual.hh
│ │ ├── OptixAxisVisual.hh
│ │ ├── OptixBox.hh
│ │ ├── OptixCamera.hh
│ │ ├── OptixCone.hh
│ │ ├── OptixConversions.hh
│ │ ├── OptixCylinder.hh
│ │ ├── OptixGeometry.hh
│ │ ├── OptixGrid.hh
│ │ ├── OptixIncludes.hh
│ │ ├── OptixLight.hh
│ │ ├── OptixLightManager.hh
│ │ ├── OptixLightTypes.hh
│ │ ├── OptixMaterial.hh
│ │ ├── OptixMesh.hh
│ │ ├── OptixMeshFactory.hh
│ │ ├── OptixNode.hh
│ │ ├── OptixObject.hh
│ │ ├── OptixPrimitive.hh
│ │ ├── OptixRayTypes.hh
│ │ ├── OptixRenderEngine.hh
│ │ ├── OptixRenderTarget.hh
│ │ ├── OptixRenderTypes.hh
│ │ ├── OptixScene.hh
│ │ ├── OptixSensor.hh
│ │ ├── OptixSphere.hh
│ │ ├── OptixStorage.hh
│ │ ├── OptixTextureFactory.hh
│ │ ├── OptixVisual.hh
│ │ └── optix.hh.in
└── src
│ ├── CMakeLists.txt
│ ├── OptixArrowVisual.cc
│ ├── OptixAxisVisual.cc
│ ├── OptixBox.cc
│ ├── OptixBox.cu
│ ├── OptixCamera.cc
│ ├── OptixCamera.cu
│ ├── OptixCone.cc
│ ├── OptixCone.cu
│ ├── OptixConversions.cc
│ ├── OptixCylinder.cc
│ ├── OptixCylinder.cu
│ ├── OptixErrorProgram.cu
│ ├── OptixGeometry.cc
│ ├── OptixGrid.cc
│ ├── OptixLight.cc
│ ├── OptixLightManager.cc
│ ├── OptixMaterial.cc
│ ├── OptixMaterial.cu
│ ├── OptixMesh.cc
│ ├── OptixMesh.cu
│ ├── OptixMeshFactory.cc
│ ├── OptixMissProgram.cu
│ ├── OptixNode.cc
│ ├── OptixObject.cc
│ ├── OptixPrimitive.cc
│ ├── OptixRenderEngine.cc
│ ├── OptixRenderTarget.cc
│ ├── OptixScene.cc
│ ├── OptixSensor.cc
│ ├── OptixSphere.cc
│ ├── OptixSphere.cu
│ ├── OptixTextureFactory.cc
│ └── OptixVisual.cc
├── package.xml
├── src
├── ArrowVisual.cc
├── AxisVisual.cc
├── BoundingBox.cc
├── BoundingBoxCamera.cc
├── CMakeLists.txt
├── COMVisual.cc
├── Camera.cc
├── CameraLens.cc
├── Capsule.cc
├── CompositeVisual.cc
├── DepthCamera.cc
├── DistortionPass.cc
├── FrustumVisual.cc
├── GaussianNoisePass.cc
├── Geometry.cc
├── GizmoVisual.cc
├── GlobalIlluminationBase.cc
├── GlobalIlluminationCiVct.cc
├── GlobalIlluminationVct.cc
├── GpuRays.cc
├── GraphicsAPI.cc
├── GraphicsAPI_TEST.cc
├── Grid.cc
├── HeightmapDescriptor.cc
├── Image.cc
├── InertiaVisual.cc
├── InstallationDirectories.cc
├── JointVisual.cc
├── LensFlarePass.cc
├── LidarVisual.cc
├── Light.cc
├── LightVisual.cc
├── Marker.cc
├── Material.cc
├── Mesh.cc
├── MeshDescriptor.cc
├── MoveToHelper.cc
├── NativeWindow.cc
├── Node.cc
├── Object.cc
├── OrbitViewController.cc
├── OrthoViewController.cc
├── ParticleEmitter.cc
├── PixelFormat.cc
├── PixelFormat_TEST.cc
├── Projector.cc
├── RayQuery.cc
├── RenderEngine.cc
├── RenderEngineManager.cc
├── RenderEnginePlugin.cc
├── RenderPass.cc
├── RenderPassSystem.cc
├── RenderTarget.cc
├── RenderingIface.cc
├── Scene.cc
├── SegmentationCamera.cc
├── Sensor.cc
├── ShaderParam.cc
├── ShaderParam_TEST.cc
├── ShaderParams.cc
├── ShaderParams_TEST.cc
├── ShaderType.cc
├── ShaderType_TEST.cc
├── Text.cc
├── ThermalCamera.cc
├── TransformController.cc
├── Utils.cc
├── ViewController.cc
├── Visual.cc
├── WideAngleCamera.cc
├── WireBox.cc
├── base
│ ├── BaseNativeWindow.cc
│ ├── BaseObject.cc
│ ├── BaseRenderEngine.cc
│ ├── BaseScene.cc
│ ├── CMakeLists.txt
│ └── media
│ │ ├── CMakeLists.txt
│ │ └── materials
│ │ ├── CMakeLists.txt
│ │ └── textures
│ │ ├── CMakeLists.txt
│ │ └── com.png
└── bazel
│ └── InstallationDirectories.cc
├── test
├── CMakeLists.txt
├── common_test
│ ├── ArrowVisual_TEST.cc
│ ├── AxisVisual_TEST.cc
│ ├── BoundingBoxCamera_TEST.cc
│ ├── BoundingBox_TEST.cc
│ ├── CMakeLists.txt
│ ├── COMVisual_TEST.cc
│ ├── Camera_TEST.cc
│ ├── Capsule_TEST.cc
│ ├── CommonRenderingTest.hh
│ ├── FrustumVisual_TEST.cc
│ ├── GaussianNoisePass_TEST.cc
│ ├── GizmoVisual_TEST.cc
│ ├── GlobalIllumination_TEST.cc
│ ├── Grid_TEST.cc
│ ├── Heightmap_TEST.cc
│ ├── InertiaVisual_TEST.cc
│ ├── JointVisual_TEST.cc
│ ├── LensFlarePass_TEST.cc
│ ├── LidarVisual_TEST.cc
│ ├── LightVisual_TEST.cc
│ ├── Light_TEST.cc
│ ├── Marker_TEST.cc
│ ├── Material_TEST.cc
│ ├── MeshDescriptor_TEST.cc
│ ├── Mesh_TEST.cc
│ ├── MoveToHelper_TEST.cc
│ ├── Node_TEST.cc
│ ├── OrbitViewController_TEST.cc
│ ├── OrthoViewController_TEST.cc
│ ├── ParticleEmitter_TEST.cc
│ ├── Projector_TEST.cc
│ ├── RayQuery_TEST.cc
│ ├── RenderEngineManager_TEST.cc
│ ├── RenderEngine_TEST.cc
│ ├── RenderPassSystem_TEST.cc
│ ├── RenderTarget_TEST.cc
│ ├── RenderingIface_TEST.cc
│ ├── Scene_TEST.cc
│ ├── SegmentationCamera_TEST.cc
│ ├── Text_TEST.cc
│ ├── ThermalCamera_TEST.cc
│ ├── TransformController_TEST.cc
│ ├── Utils_TEST.cc
│ ├── Visual_TEST.cc
│ └── WireBox_TEST.cc
├── gtest_vendor
│ ├── CMakeLists.txt
│ ├── LICENSE
│ ├── gtest_vendor_version
│ ├── include
│ │ └── gtest
│ │ │ ├── gtest-assertion-result.h
│ │ │ ├── gtest-death-test.h
│ │ │ ├── gtest-matchers.h
│ │ │ ├── gtest-message.h
│ │ │ ├── gtest-param-test.h
│ │ │ ├── gtest-printers.h
│ │ │ ├── gtest-spi.h
│ │ │ ├── gtest-test-part.h
│ │ │ ├── gtest-typed-test.h
│ │ │ ├── gtest.h
│ │ │ ├── gtest_pred_impl.h
│ │ │ ├── gtest_prod.h
│ │ │ └── internal
│ │ │ ├── custom
│ │ │ ├── README.md
│ │ │ ├── gtest-port.h
│ │ │ ├── gtest-printers.h
│ │ │ └── gtest.h
│ │ │ ├── gtest-death-test-internal.h
│ │ │ ├── gtest-filepath.h
│ │ │ ├── gtest-internal.h
│ │ │ ├── gtest-param-util.h
│ │ │ ├── gtest-port-arch.h
│ │ │ ├── gtest-port.h
│ │ │ ├── gtest-string.h
│ │ │ └── gtest-type-util.h
│ └── src
│ │ ├── gtest-all.cc
│ │ ├── gtest-assertion-result.cc
│ │ ├── gtest-death-test.cc
│ │ ├── gtest-filepath.cc
│ │ ├── gtest-internal-inl.h
│ │ ├── gtest-matchers.cc
│ │ ├── gtest-port.cc
│ │ ├── gtest-printers.cc
│ │ ├── gtest-test-part.cc
│ │ ├── gtest-typed-test.cc
│ │ ├── gtest.cc
│ │ └── gtest_main.cc
├── gz_rendering_test.cmake
├── integration
│ ├── CMakeLists.txt
│ ├── all_symbols_have_version.bash.in
│ ├── base64.hh
│ ├── base64.inl
│ ├── boundingbox_camera.cc
│ ├── camera.cc
│ ├── depth_camera.cc
│ ├── gpu_rays.cc
│ ├── heightmap.cc
│ ├── lidar_visual.cc
│ ├── load_unload.cc
│ ├── mesh.cc
│ ├── projector.cc
│ ├── render_pass.cc
│ ├── scene.cc
│ ├── segmentation_camera.cc
│ ├── shadows.cc
│ ├── sky.cc
│ ├── thermal_camera.cc
│ ├── waves.cc
│ └── wide_angle_camera.cc
├── media
│ ├── heightmap_bowl.png
│ ├── materials
│ │ ├── programs
│ │ │ ├── GerstnerWaves_fs.glsl
│ │ │ ├── GerstnerWaves_fs.metal
│ │ │ ├── GerstnerWaves_fs_330.glsl
│ │ │ ├── GerstnerWaves_vs.glsl
│ │ │ ├── GerstnerWaves_vs.metal
│ │ │ ├── GerstnerWaves_vs_330.glsl
│ │ │ ├── simple_color_330_fs.glsl
│ │ │ ├── simple_color_330_vs.glsl
│ │ │ ├── simple_color_fs.glsl
│ │ │ ├── simple_color_fs.metal
│ │ │ ├── simple_color_vs.glsl
│ │ │ └── simple_color_vs.metal
│ │ └── textures
│ │ │ ├── blue_texture.png
│ │ │ ├── flat_normal.png
│ │ │ ├── gray_texture.png
│ │ │ ├── red_texture.png
│ │ │ ├── skybox_lowres.dds
│ │ │ ├── texture.png
│ │ │ └── wave_normals.dds
│ └── meshes
│ │ ├── cmu-13_26.bvh
│ │ ├── mesh.dae
│ │ └── walk.dae
├── performance
│ ├── CMakeLists.txt
│ └── scene_factory.cc
└── regression
│ ├── CMakeLists.txt
│ └── reload_engine.cc
├── tools
└── gl-test.py
├── tutorials.md.in
└── tutorials
├── 01_intro.md
├── 02_install.md
├── 03_rendering_plugins.md
├── 04_lightmap.md
├── 10_actor_animation_tutorial.md
├── 12_mesh_viewer_tutorial.md
├── 13_custom_scene_viewer.md
├── 14_camera_tracking_tutorial.md
├── 15_custom_shaders_tutorial.md
├── 17_render_pass_tutorial.md
├── 18_simple_demo_tutorial.md
├── 19_text_geom_tutorial.md
├── 20_particles_tutorial.md
├── 21_heightmap.md
├── 21_render_order.md
├── 21_transform_fbx_to_dae.md
├── 22_environment_map.md
├── 23_depth_camera_tutorial.md
├── 24_boundingbox_camera_tutorial.md
├── img
├── actor_animation.png
├── boundingbox_camera.png
├── boundingbox_camera_2d_full.png
├── boundingbox_camera_2d_visible.png
├── camera_tracking.png
├── custom_scene_viewer.png
├── custom_shaders_depth.png
├── custom_shaders_rgb.png
├── depth_camera_ogre.png
├── gazebo_scene_viewer.gif
├── gazebo_scene_viewer2_demo.gif
├── heightmaps.png
├── heightmaps_dem.png
├── lightmap_bake.jpg
├── lightmap_depot_render.png
├── lightmap_depot_saved.jpg
├── lightmap_import.png
├── lightmap_material_connection.jpg
├── lightmap_material_shader.png
├── lightmap_new_texture.png
├── lightmap_rendered.png
├── lightmap_unwrap.png
├── mesh_viewer.png
├── ogre2_sky_envmap.png
├── particles.gif
├── render_order_bad.png
├── render_order_good.png
├── render_pass.gif
├── simple_demo.gif
├── skybox_gimp_layers.png
├── text_geom.png
└── transform_fbx_to_dae
│ ├── edit_origin.gif
│ ├── import_model.gif
│ └── remove_elemets.gif
└── index.md
/.bazelrc:
--------------------------------------------------------------------------------
1 | common --enable_bzlmod
2 | common --lockfile_mode=off
3 |
4 | # Add C++17 compiler flags.
5 | build --cxxopt=-std=c++17
6 | build --host_cxxopt=-std=c++17
7 |
8 | build --force_pic
9 | build --strip=never
10 | build --strict_system_includes
11 | build --fission=dbg
12 | build --features=per_object_debug_info
13 |
14 | # Enable header processing, required for layering checks with parse_header.
15 | build --process_headers_in_dependencies
16 |
--------------------------------------------------------------------------------
/.bazelversion:
--------------------------------------------------------------------------------
1 | 7.3.1
2 |
--------------------------------------------------------------------------------
/.codespell-ignore:
--------------------------------------------------------------------------------
1 | padd
2 | inout
3 | lod
4 | LOD
5 | SEH
6 | Protobuf
7 | CMake
8 | normalLS
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # More info:
2 | # https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
3 |
4 | * @iche033
5 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Request a new feature
4 | labels: enhancement
5 | ---
6 |
7 |
10 |
11 | ## Desired behavior
12 |
13 |
14 | ## Alternatives considered
15 |
16 |
17 | ## Implementation suggestion
18 |
20 |
21 | ## Additional context
22 |
24 |
--------------------------------------------------------------------------------
/.github/ci/after_make.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh -l
2 |
3 | set -x
4 |
5 | make install
6 |
7 | Xvfb :1 -ac -noreset -core -screen 0 1280x1024x24 &
8 | export DISPLAY=:1.0
9 | export MESA_GL_VERSION_OVERRIDE=3.3
10 |
--------------------------------------------------------------------------------
/.github/ci/packages-jammy.apt:
--------------------------------------------------------------------------------
1 | libogre-next-dev
2 | libogre-next-2.3-dev
3 | libvulkan-dev
4 |
--------------------------------------------------------------------------------
/.github/ci/packages-noble.apt:
--------------------------------------------------------------------------------
1 | libogre-next-2.3-dev
2 | libvulkan-dev
3 |
--------------------------------------------------------------------------------
/.github/ci/packages.apt:
--------------------------------------------------------------------------------
1 | freeglut3-dev
2 | libfreeimage-dev
3 | libglew-dev
4 | libgz-cmake4-dev
5 | libgz-common6-dev
6 | libgz-math8-dev
7 | libgz-math8-eigen3-dev
8 | libgz-plugin3-dev
9 | libgz-utils3-dev
10 | libogre-1.9-dev
11 | libxi-dev
12 | libxmu-dev
13 | uuid-dev
14 | xvfb
15 |
--------------------------------------------------------------------------------
/.github/workflows/bazel.yml:
--------------------------------------------------------------------------------
1 | name: Bazel CI
2 | on:
3 | push:
4 | branches: [gz-rendering9, main]
5 | pull_request:
6 | branches: [gz-rendering9, main]
7 |
8 | concurrency:
9 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
10 | cancel-in-progress: true
11 |
12 | jobs:
13 | test:
14 | uses: bazel-contrib/.github/.github/workflows/bazel.yaml@v7.2.2
15 | with:
16 | folders: |
17 | [
18 | ".",
19 | ]
20 | exclude: |
21 | [
22 | {"folder": ".", "bzlmodEnabled": false},
23 | ]
24 |
--------------------------------------------------------------------------------
/.github/workflows/ci.bazelrc:
--------------------------------------------------------------------------------
1 | # This file contains Bazel settings to apply on CI only.
2 | # It is referenced with a --bazelrc option in the call to bazel in ci.yaml
3 |
4 | # Debug where options came from
5 | build --announce_rc
6 | # This directory is configured in GitHub actions to be persisted between runs.
7 | # We do not enable the repository cache to cache downloaded external artifacts
8 | # as these are generally faster to download again than to fetch them from the
9 | # GitHub actions cache.
10 | build --disk_cache=~/.cache/bazel
11 | # Don't rely on test logs being easily accessible from the test runner,
12 | # though it makes the log noisier.
13 | test --test_output=errors
14 | # Allows tests to run bazelisk-in-bazel, since this is the cache folder used
15 | test --test_env=XDG_CACHE_HOME
16 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: Ubuntu CI
2 |
3 | on:
4 | pull_request:
5 | push:
6 | branches:
7 | - 'ign-rendering[0-9]'
8 | - 'gz-rendering[1-9]?[0-9]'
9 | - 'main'
10 |
11 | jobs:
12 | jammy-ci:
13 | runs-on: ubuntu-latest
14 | name: Ubuntu Jammy CI
15 | steps:
16 | - name: Checkout
17 | uses: actions/checkout@v4
18 | - name: Compile and test
19 | id: ci
20 | uses: gazebo-tooling/action-gz-ci@jammy
21 | with:
22 | codecov-enabled: true
23 | doxygen-enabled: true
24 | noble-ci:
25 | runs-on: ubuntu-latest
26 | name: Ubuntu Noble CI
27 | steps:
28 | - name: Checkout
29 | uses: actions/checkout@v4
30 | - name: Compile and test
31 | id: ci
32 | uses: gazebo-tooling/action-gz-ci@noble
33 | with:
34 | cppcheck-enabled: true
35 | cpplint-enabled: true
36 |
--------------------------------------------------------------------------------
/.github/workflows/package_xml.yml:
--------------------------------------------------------------------------------
1 | name: Validate package.xml
2 |
3 | on:
4 | pull_request:
5 |
6 | jobs:
7 | package-xml:
8 | runs-on: ubuntu-latest
9 | name: Validate package.xml
10 | steps:
11 | - uses: gazebo-tooling/action-gz-ci/validate_package_xml@jammy
12 |
--------------------------------------------------------------------------------
/.github/workflows/pr-collection-labeler.yml:
--------------------------------------------------------------------------------
1 | name: PR Collection Labeler
2 |
3 | on: pull_request_target
4 |
5 | jobs:
6 | pr_collection_labeler:
7 | runs-on: ubuntu-latest
8 | steps:
9 | - name: Add collection labels
10 | if: github.event.action == 'opened'
11 | uses: gazebo-tooling/pr-collection-labeler@v1
12 | with:
13 | github-token: ${{ secrets.GITHUB_TOKEN }}
14 |
--------------------------------------------------------------------------------
/.github/workflows/triage.yml:
--------------------------------------------------------------------------------
1 | on:
2 | issues:
3 | types: [opened]
4 | pull_request_target:
5 | types: [opened]
6 | name: Ticket opened
7 | jobs:
8 | assign:
9 | name: Add ticket to inbox
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Add ticket to inbox
13 | uses: actions/add-to-project@v0.5.0
14 | with:
15 | project-url: https://github.com/orgs/gazebosim/projects/7
16 | github-token: ${{ secrets.TRIAGE_TOKEN }}
17 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # CMake folders
2 | build
3 | build_*
4 |
5 | # OS generated files
6 | .DS_Store
7 | *.swp
8 |
9 | # Bazel generated files
10 | bazel-*
11 |
--------------------------------------------------------------------------------
/AUTHORS:
--------------------------------------------------------------------------------
1 | OSRFoundation
2 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | See the [Gazebo contributing guide](https://gazebosim.org/docs/all/contributing).
2 |
--------------------------------------------------------------------------------
/NEWS:
--------------------------------------------------------------------------------
1 | http://gazebosim.org
2 |
--------------------------------------------------------------------------------
/api.md.in:
--------------------------------------------------------------------------------
1 | ## Gazebo @GZ_DESIGNATION_CAP@
2 |
3 | Gazebo @GZ_DESIGNATION_CAP@ is a component in Gazebo, a set of libraries
4 | designed to rapidly develop robot and simulation applications.
5 |
6 | ## License
7 |
8 | The code associated with this documentation is licensed under an [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0).
9 |
10 | This documentation is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).
11 |
--------------------------------------------------------------------------------
/coverage.ignore.in:
--------------------------------------------------------------------------------
1 | ogre/*
2 | optix/*
3 | ogre2/src/terrain/Terra/*
4 |
--------------------------------------------------------------------------------
/cppcheck.suppress.in:
--------------------------------------------------------------------------------
1 | *:*/Terra/*.h
2 |
--------------------------------------------------------------------------------
/doc/ogre_1-9.tag.xml.tgz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/doc/ogre_1-9.tag.xml.tgz
--------------------------------------------------------------------------------
/examples/actor_animation/README.md:
--------------------------------------------------------------------------------
1 | # Actor animation
2 |
3 | Demo of skeleton animation.
4 |
5 | ## Build
6 |
7 | ~~~
8 | cd examples/actor_animation
9 | mkdir build
10 | cd build
11 | cmake ..
12 | make
13 | ~~~
14 |
15 | ## Use
16 |
17 | By default, the demo uses the Ogre 1 engine:
18 |
19 | ./actor_animation
20 |
21 | It's also possible to use Ogre 2, i.e.
22 |
23 | ./actor_animation ogre2
24 |
25 |
--------------------------------------------------------------------------------
/examples/actor_animation/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/boundingbox_camera/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/boundingbox_camera/media/duck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/boundingbox_camera/media/duck.png
--------------------------------------------------------------------------------
/examples/camera_tracking/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.22.1 FATAL_ERROR)
2 | project(gz-rendering-camera-tracking)
3 | find_package(gz-rendering9 REQUIRED)
4 |
5 | find_package(GLUT REQUIRED)
6 | include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})
7 | link_directories(${GLUT_LIBRARY_DIRS})
8 |
9 | find_package(OpenGL REQUIRED)
10 | include_directories(SYSTEM ${OpenGL_INCLUDE_DIRS})
11 | link_directories(${OpenGL_LIBRARY_DIRS})
12 |
13 | if (NOT APPLE)
14 | find_package(GLEW REQUIRED)
15 | include_directories(SYSTEM ${GLEW_INCLUDE_DIRS})
16 | link_directories(${GLEW_LIBRARY_DIRS})
17 | endif()
18 |
19 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
20 |
21 | add_executable(camera_tracking Main.cc GlutWindow.cc)
22 |
23 | target_link_libraries(camera_tracking
24 | ${GLUT_LIBRARIES}
25 | ${OPENGL_LIBRARIES}
26 | ${GLEW_LIBRARIES}
27 | ${GZ-RENDERING_LIBRARIES}
28 | )
29 |
--------------------------------------------------------------------------------
/examples/custom_scene_viewer/DemoWindow.hh:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #ifndef GZ_RENDERING_EXAMPLES_CUSTOM_SCENE_VIEWER_DEMOWINDOW_HH_
18 | #define GZ_RENDERING_EXAMPLES_CUSTOM_SCENE_VIEWER_DEMOWINDOW_HH_
19 |
20 | #include "TestTypes.hh"
21 |
22 | namespace ir = gz::rendering;
23 |
24 | /// \brief Run the demo
25 | /// \param[in] _Pointer to demo
26 | void run(ir::ManualSceneDemoPtr _demo);
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/examples/custom_scene_viewer/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/custom_scene_viewer/media/brick_normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/custom_scene_viewer/media/brick_normal.jpg
--------------------------------------------------------------------------------
/examples/custom_scene_viewer/media/tiles.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/custom_scene_viewer/media/tiles.jpg
--------------------------------------------------------------------------------
/examples/custom_shaders/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/custom_shaders/media/depth_fragment_shader.glsl:
--------------------------------------------------------------------------------
1 | varying float depth;
2 |
3 | void main()
4 | {
5 | // arbitrary camera far and near clip plane values for normalizing depth data
6 | // to produce a nice depth camera visualization effect
7 | float far = 10.0;
8 | float near = 0.1;
9 | gl_FragColor = vec4(vec3(depth / (far - near)), 1.0);
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/examples/custom_shaders/media/depth_vertex_shader.glsl:
--------------------------------------------------------------------------------
1 | varying float depth;
2 |
3 | void main()
4 | {
5 | gl_Position = ftransform();
6 | vec4 point = gl_ModelViewMatrix * gl_Vertex;
7 | depth = -point.z;
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/examples/custom_shaders/media/fragment_shader.glsl:
--------------------------------------------------------------------------------
1 | void main()
2 | {
3 | gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
4 | }
5 |
--------------------------------------------------------------------------------
/examples/custom_shaders/media/vertex_shader.glsl:
--------------------------------------------------------------------------------
1 | void main()
2 | {
3 | gl_Position = ftransform();
4 | }
5 |
--------------------------------------------------------------------------------
/examples/custom_shaders_uniforms/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
--------------------------------------------------------------------------------
/examples/custom_shaders_uniforms/media/vertex_shader.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2021 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | varying vec4 interpolatedPosition;
19 |
20 | void main()
21 | {
22 | gl_Position = ftransform();
23 | interpolatedPosition = gl_Position;
24 | }
25 |
--------------------------------------------------------------------------------
/examples/custom_shaders_uniforms/media/vertex_shader_330.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2021 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #version 330
19 |
20 | in vec4 vertex;
21 | uniform mat4 worldviewproj_matrix;
22 |
23 | out gl_PerVertex
24 | {
25 | vec4 gl_Position;
26 | };
27 |
28 | out vec4 interpolatedPosition;
29 |
30 | void main()
31 | {
32 | gl_Position = worldviewproj_matrix * vertex;
33 | interpolatedPosition = gl_Position;
34 | }
35 |
36 |
--------------------------------------------------------------------------------
/examples/depth_camera/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/depth_camera/media/duck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/depth_camera/media/duck.png
--------------------------------------------------------------------------------
/examples/frustum_visual/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.22.1 FATAL_ERROR)
2 | project(gz-rendering-frustum-visual)
3 | find_package(gz-rendering9 REQUIRED)
4 |
5 | find_package(GLUT REQUIRED)
6 | include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})
7 | link_directories(${GLUT_LIBRARY_DIRS})
8 |
9 | find_package(OpenGL REQUIRED)
10 | include_directories(SYSTEM ${OpenGL_INCLUDE_DIRS})
11 | link_directories(${OpenGL_LIBRARY_DIRS})
12 |
13 | if (NOT APPLE)
14 | find_package(GLEW REQUIRED)
15 | include_directories(SYSTEM ${GLEW_INCLUDE_DIRS})
16 | link_directories(${GLEW_LIBRARY_DIRS})
17 | endif()
18 |
19 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
20 |
21 | add_executable(frustum_visual Main.cc GlutWindow.cc)
22 |
23 | target_link_libraries(frustum_visual
24 | ${GLUT_LIBRARIES}
25 | ${OPENGL_LIBRARIES}
26 | ${GLEW_LIBRARIES}
27 | ${GZ-RENDERING_LIBRARIES}
28 | )
29 |
--------------------------------------------------------------------------------
/examples/global_illumination/GiConfig.hh:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #define GI_METHOD 1
18 |
19 | #if GI_METHOD == 1
20 | extern gz::rendering::GlobalIlluminationVctPtr g_gi;
21 | #else
22 | extern gz::rendering::GlobalIlluminationCiVctPtr g_gi;
23 | #endif
24 |
--------------------------------------------------------------------------------
/examples/global_illumination/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/heightmap/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/heightmap/media/city_terrain.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/heightmap/media/city_terrain.jpg
--------------------------------------------------------------------------------
/examples/heightmap/media/dirt_diffusespecular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/heightmap/media/dirt_diffusespecular.png
--------------------------------------------------------------------------------
/examples/heightmap/media/flat_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/heightmap/media/flat_normal.png
--------------------------------------------------------------------------------
/examples/heightmap/media/fungus_diffusespecular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/heightmap/media/fungus_diffusespecular.png
--------------------------------------------------------------------------------
/examples/heightmap/media/grass_diffusespecular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/heightmap/media/grass_diffusespecular.png
--------------------------------------------------------------------------------
/examples/heightmap/media/heightmap_bowl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/heightmap/media/heightmap_bowl.png
--------------------------------------------------------------------------------
/examples/heightmap/media/moon.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/heightmap/media/moon.tif
--------------------------------------------------------------------------------
/examples/heightmap/media/moon_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/heightmap/media/moon_diffuse.png
--------------------------------------------------------------------------------
/examples/heightmap/media/moon_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/heightmap/media/moon_normal.png
--------------------------------------------------------------------------------
/examples/heightmap/media/volcano.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/heightmap/media/volcano.tif
--------------------------------------------------------------------------------
/examples/hello_world_plugin/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.22.1 FATAL_ERROR)
2 |
3 | find_package(gz-rendering9 REQUIRED)
4 | set(GZ_RENDERING_VER ${gz-rendering9_VERSION_MAJOR})
5 |
6 | find_package(gz-plugin3 REQUIRED COMPONENTS all)
7 | set(GZ_PLUGIN_VER ${gz-plugin3_VERSION_MAJOR})
8 |
9 | find_package(gz-common6 REQUIRED)
10 | set(GZ_COMMON_VER ${gz-common6_VERSION_MAJOR})
11 |
12 | add_library(HelloWorldPlugin SHARED HelloWorldPlugin.cc)
13 | target_link_libraries(HelloWorldPlugin
14 | PUBLIC
15 | gz-rendering${GZ_RENDERING_VER}::gz-rendering${GZ_RENDERING_VER}
16 | gz-common${GZ_COMMON_VER}::gz-common${GZ_COMMON_VER}
17 | PRIVATE
18 | gz-plugin${GZ_PLUGIN_VER}::register
19 | )
20 |
--------------------------------------------------------------------------------
/examples/lidar_visual/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.22.1 FATAL_ERROR)
2 | project(gz-rendering-lidar_visual)
3 | find_package(gz-rendering9 REQUIRED)
4 |
5 | include_directories(SYSTEM
6 | ${PROJECT_BINARY_DIR}
7 | )
8 |
9 | find_package(GLUT REQUIRED)
10 | include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})
11 | link_directories(${GLUT_LIBRARY_DIRS})
12 |
13 | find_package(OpenGL REQUIRED)
14 | include_directories(SYSTEM ${OpenGL_INCLUDE_DIRS})
15 | link_directories(${OpenGL_LIBRARY_DIRS})
16 |
17 | if (NOT APPLE)
18 | find_package(GLEW REQUIRED)
19 | include_directories(SYSTEM ${GLEW_INCLUDE_DIRS})
20 | link_directories(${GLEW_LIBRARY_DIRS})
21 | endif()
22 |
23 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
24 |
25 | configure_file (example_config.hh.in ${PROJECT_BINARY_DIR}/example_config.hh)
26 |
27 | add_executable(lidar_visual Main.cc GlutWindow.cc)
28 |
29 | target_link_libraries(lidar_visual
30 | ${GLUT_LIBRARIES}
31 | ${OPENGL_LIBRARIES}
32 | ${GLEW_LIBRARIES}
33 | ${GZ-RENDERING_LIBRARIES}
34 | )
--------------------------------------------------------------------------------
/examples/lidar_visual/README.md:
--------------------------------------------------------------------------------
1 | # Lidar Visual Example
2 |
3 | Demo of a lidar visualization using data from a GPU Rays sensor.
4 | A laser sensor model is used to detect objects in the rendering window
5 | environment and the collected data is visualized.
6 |
7 | ## Build
8 |
9 | ~~~
10 | cd examples/lidar_visual
11 | mkdir build
12 | cd build
13 | cmake ..
14 | make
15 | ~~~
16 |
17 | ## Use
18 |
19 | By default, the demo uses the Ogre 1 engine:
20 |
21 | ./lidar_visual
22 |
23 | It's also possible to use Ogre 2:
24 |
25 | ./lidar_visual ogre2
26 |
27 |
--------------------------------------------------------------------------------
/examples/lidar_visual/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/lux_core_engine/LuxCoreEngineGeometry.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "LuxCoreEngineGeometry.hh"
18 | #include "LuxCoreEngineScene.hh"
19 |
20 | using namespace gz;
21 | using namespace rendering;
22 |
23 | //////////////////////////////////////////////////
24 | LuxCoreEngineGeometry::LuxCoreEngineGeometry() {}
25 |
--------------------------------------------------------------------------------
/examples/lux_core_engine/LuxCoreEngineSensor.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "LuxCoreEngineSensor.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | LuxCoreEngineSensor::LuxCoreEngineSensor()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | LuxCoreEngineSensor::~LuxCoreEngineSensor()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/examples/lux_core_engine/media/duck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/lux_core_engine/media/duck.png
--------------------------------------------------------------------------------
/examples/mesh_viewer/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/mesh_viewer/media/AmbulanceStretcher.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/mesh_viewer/media/AmbulanceStretcher.glb
--------------------------------------------------------------------------------
/examples/mesh_viewer/media/duck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/mesh_viewer/media/duck.png
--------------------------------------------------------------------------------
/examples/mouse_picking/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.22.1 FATAL_ERROR)
2 | project(gz-rendering-mouse-picking)
3 | find_package(gz-rendering9 REQUIRED)
4 |
5 | include_directories(SYSTEM
6 | ${PROJECT_BINARY_DIR}
7 | )
8 |
9 | find_package(GLUT REQUIRED)
10 | include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})
11 | link_directories(${GLUT_LIBRARY_DIRS})
12 |
13 | find_package(OpenGL REQUIRED)
14 | include_directories(SYSTEM ${OpenGL_INCLUDE_DIRS})
15 | link_directories(${OpenGL_LIBRARY_DIRS})
16 |
17 | if (NOT APPLE)
18 | find_package(GLEW REQUIRED)
19 | include_directories(SYSTEM ${GLEW_INCLUDE_DIRS})
20 | link_directories(${GLEW_LIBRARY_DIRS})
21 | endif()
22 |
23 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
24 |
25 | add_executable(mouse_picking Main.cc GlutWindow.cc)
26 |
27 | target_link_libraries(mouse_picking
28 | ${GLUT_LIBRARIES}
29 | ${OPENGL_LIBRARIES}
30 | ${GLEW_LIBRARIES}
31 | ${GZ-RENDERING_LIBRARIES}
32 | )
33 |
--------------------------------------------------------------------------------
/examples/ogre2_demo/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/ogre2_demo/media/backpack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/ogre2_demo/media/backpack.png
--------------------------------------------------------------------------------
/examples/ogre2_demo/media/duck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/ogre2_demo/media/duck.png
--------------------------------------------------------------------------------
/examples/ogre2_demo/media/fort_point.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/ogre2_demo/media/fort_point.dds
--------------------------------------------------------------------------------
/examples/ogre2_demo/media/pump_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/ogre2_demo/media/pump_albedo.png
--------------------------------------------------------------------------------
/examples/ogre2_demo/media/pump_metallic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/ogre2_demo/media/pump_metallic.png
--------------------------------------------------------------------------------
/examples/ogre2_demo/media/pump_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/ogre2_demo/media/pump_normal.png
--------------------------------------------------------------------------------
/examples/ogre2_demo/media/pump_roughness.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/ogre2_demo/media/pump_roughness.png
--------------------------------------------------------------------------------
/examples/ogre2_demo/media/skybox_lowres.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/ogre2_demo/media/skybox_lowres.dds
--------------------------------------------------------------------------------
/examples/particles_demo/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/particles_demo/media/duck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/particles_demo/media/duck.png
--------------------------------------------------------------------------------
/examples/particles_demo/media/smoke.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/particles_demo/media/smoke.png
--------------------------------------------------------------------------------
/examples/particles_demo/media/smokecolors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/particles_demo/media/smokecolors.png
--------------------------------------------------------------------------------
/examples/projector/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/projector/media/stereo_projection_pattern_high_res_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/projector/media/stereo_projection_pattern_high_res_red.png
--------------------------------------------------------------------------------
/examples/render_pass/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.22.1 FATAL_ERROR)
2 | project(gz-rendering-render-pass)
3 |
4 | find_package(gz-rendering9)
5 |
6 | find_package(GLUT REQUIRED)
7 | include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})
8 | link_directories(${GLUT_LIBRARY_DIRS})
9 |
10 | find_package(OpenGL REQUIRED)
11 | include_directories(SYSTEM ${OpenGL_INCLUDE_DIRS})
12 | link_directories(${OpenGL_LIBRARY_DIRS})
13 |
14 | if (NOT APPLE)
15 | find_package(GLEW REQUIRED)
16 | include_directories(SYSTEM ${GLEW_INCLUDE_DIRS})
17 | link_directories(${GLEW_LIBRARY_DIRS})
18 | endif()
19 |
20 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
21 |
22 | add_executable(render_pass Main.cc GlutWindow.cc)
23 |
24 | target_link_libraries(render_pass
25 | ${GLUT_LIBRARIES}
26 | ${OPENGL_LIBRARIES}
27 | ${GLEW_LIBRARIES}
28 | ${GZ-RENDERING_LIBRARIES}
29 | )
30 |
--------------------------------------------------------------------------------
/examples/segmentation_camera/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/segmentation_camera/media/duck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/segmentation_camera/media/duck.png
--------------------------------------------------------------------------------
/examples/simple_demo/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.22.1 FATAL_ERROR)
2 | project(gz-rendering-simple-demo)
3 |
4 | find_package(gz-rendering9)
5 |
6 | find_package(GLUT REQUIRED)
7 | include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})
8 | link_directories(${GLUT_LIBRARY_DIRS})
9 |
10 | find_package(OpenGL REQUIRED)
11 | include_directories(SYSTEM ${OpenGL_INCLUDE_DIRS})
12 | link_directories(${OpenGL_LIBRARY_DIRS})
13 |
14 | if (NOT APPLE)
15 | find_package(GLEW REQUIRED)
16 | include_directories(SYSTEM ${GLEW_INCLUDE_DIRS})
17 | link_directories(${GLEW_LIBRARY_DIRS})
18 | endif()
19 |
20 | if(NOT MSVC)
21 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
22 | endif()
23 |
24 | add_executable(simple_demo Main.cc GlutWindow.cc)
25 |
26 | target_link_libraries(simple_demo
27 | ${GLUT_LIBRARIES}
28 | ${OPENGL_LIBRARIES}
29 | ${GLEW_LIBRARIES}
30 | ${GZ-RENDERING_LIBRARIES}
31 | )
32 |
--------------------------------------------------------------------------------
/examples/simple_demo_qml/Main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import GzRendering 1.0
3 |
4 | Item {
5 | width: 800
6 | height: 600
7 |
8 | ThreadRenderer {
9 | id: renderer
10 | anchors.fill: parent
11 | anchors.margins: 10
12 | opacity: 0
13 | Component.onCompleted: renderer.opacity = 1;
14 | }
15 |
16 | Rectangle {
17 | id: labelFrame
18 | anchors.margins: -10
19 | radius: 5
20 | color: "white"
21 | border.color: "black"
22 | opacity: 0.8
23 | anchors.fill: label
24 | }
25 |
26 | Text {
27 | id: label
28 | anchors.bottom: renderer.bottom
29 | anchors.left: renderer.left
30 | anchors.right: renderer.right
31 | anchors.margins: 20
32 | wrapMode: Text.WordWrap
33 | text: "simple_demo_qml : the `simple_demo` example using gz-rendering and QML."
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/examples/simple_demo_qml/Main.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Main.qml
5 |
6 |
7 |
--------------------------------------------------------------------------------
/examples/text_geom/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.22.1 FATAL_ERROR)
2 | project(gz-rendering-text-geom)
3 |
4 | find_package(gz-rendering9)
5 |
6 | find_package(GLUT REQUIRED)
7 | include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})
8 | link_directories(${GLUT_LIBRARY_DIRS})
9 |
10 | find_package(OpenGL REQUIRED)
11 | include_directories(SYSTEM ${OpenGL_INCLUDE_DIRS})
12 | link_directories(${OpenGL_LIBRARY_DIRS})
13 |
14 | if (NOT APPLE)
15 | find_package(GLEW REQUIRED)
16 | include_directories(SYSTEM ${GLEW_INCLUDE_DIRS})
17 | link_directories(${GLEW_LIBRARY_DIRS})
18 | endif()
19 |
20 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
21 |
22 | add_executable(text_geom Main.cc GlutWindow.cc)
23 |
24 | target_link_libraries(text_geom
25 | ${GLUT_LIBRARIES}
26 | ${OPENGL_LIBRARIES}
27 | ${GLEW_LIBRARIES}
28 | ${GZ-RENDERING_LIBRARIES}
29 | )
30 |
31 |
--------------------------------------------------------------------------------
/examples/thermal_camera/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
2 |
--------------------------------------------------------------------------------
/examples/thermal_camera/media/duck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/thermal_camera/media/duck.png
--------------------------------------------------------------------------------
/examples/transform_control/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.22.1 FATAL_ERROR)
2 | project(gz-rendering-transform-control)
3 | find_package(gz-rendering9 REQUIRED)
4 |
5 | include_directories(SYSTEM
6 | ${PROJECT_BINARY_DIR}
7 | )
8 |
9 | find_package(GLUT REQUIRED)
10 | include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})
11 | link_directories(${GLUT_LIBRARY_DIRS})
12 |
13 | find_package(OpenGL REQUIRED)
14 | include_directories(SYSTEM ${OpenGL_INCLUDE_DIRS})
15 | link_directories(${OpenGL_LIBRARY_DIRS})
16 |
17 | if (NOT APPLE)
18 | find_package(GLEW REQUIRED)
19 | include_directories(SYSTEM ${GLEW_INCLUDE_DIRS})
20 | link_directories(${GLEW_LIBRARY_DIRS})
21 | endif()
22 |
23 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
24 |
25 | add_executable(transform_control Main.cc GlutWindow.cc)
26 |
27 | target_link_libraries(transform_control
28 | ${GLUT_LIBRARIES}
29 | ${OPENGL_LIBRARIES}
30 | ${GLEW_LIBRARIES}
31 | ${GZ-RENDERING_LIBRARIES}
32 | )
33 |
--------------------------------------------------------------------------------
/examples/view_control/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.22.1 FATAL_ERROR)
2 | project(gz-rendering-view-control)
3 | find_package(gz-rendering9 REQUIRED)
4 |
5 | find_package(GLUT REQUIRED)
6 | include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})
7 | link_directories(${GLUT_LIBRARY_DIRS})
8 |
9 | find_package(OpenGL REQUIRED)
10 | include_directories(SYSTEM ${OpenGL_INCLUDE_DIRS})
11 | link_directories(${OpenGL_LIBRARY_DIRS})
12 |
13 | if (NOT APPLE)
14 | find_package(GLEW REQUIRED)
15 | include_directories(SYSTEM ${GLEW_INCLUDE_DIRS})
16 | link_directories(${GLEW_LIBRARY_DIRS})
17 | endif()
18 |
19 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
20 |
21 | add_executable(view_control Main.cc GlutWindow.cc)
22 |
23 | target_link_libraries(view_control
24 | ${GLUT_LIBRARIES}
25 | ${OPENGL_LIBRARIES}
26 | ${GLEW_LIBRARIES}
27 | ${GZ-RENDERING_LIBRARIES}
28 | )
29 |
--------------------------------------------------------------------------------
/examples/waves/example_config.hh.in:
--------------------------------------------------------------------------------
1 | #define PROJECT_BINARY_PATH "${PROJECT_BINARY_DIR}"
--------------------------------------------------------------------------------
/examples/waves/media/skybox_lowres.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/waves/media/skybox_lowres.dds
--------------------------------------------------------------------------------
/examples/waves/media/wave_normals.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/examples/waves/media/wave_normals.dds
--------------------------------------------------------------------------------
/include/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(gz)
2 |
--------------------------------------------------------------------------------
/include/gz/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(rendering)
2 |
--------------------------------------------------------------------------------
/include/gz/rendering/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gz_install_all_headers()
2 |
--------------------------------------------------------------------------------
/include/gz/rendering/base/base.hh.in:
--------------------------------------------------------------------------------
1 | // Automatically generated
2 | #include
3 | ${gz_headers}
4 |
--------------------------------------------------------------------------------
/include/gz/rendering/rendering.hh.in:
--------------------------------------------------------------------------------
1 | // Automatically generated
2 | //#include
3 | ${gz_headers}
4 |
--------------------------------------------------------------------------------
/ogre/include/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(gz)
2 |
--------------------------------------------------------------------------------
/ogre/include/gz/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(rendering)
2 |
--------------------------------------------------------------------------------
/ogre/include/gz/rendering/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gz_install_all_headers(COMPONENT ogre)
2 |
--------------------------------------------------------------------------------
/ogre/include/gz/rendering/ogre/ogre.hh.in:
--------------------------------------------------------------------------------
1 | // Automatically generated
2 | #include
3 | ${gz_headers}
4 |
--------------------------------------------------------------------------------
/ogre/src/OgreArrowVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre/OgreArrowVisual.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | OgreArrowVisual::OgreArrowVisual()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | OgreArrowVisual::~OgreArrowVisual()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre/src/OgreAxisVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre/OgreAxisVisual.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | OgreAxisVisual::OgreAxisVisual()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | OgreAxisVisual::~OgreAxisVisual()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre/src/OgreGizmoVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre/OgreGizmoVisual.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | OgreGizmoVisual::OgreGizmoVisual()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | OgreGizmoVisual::~OgreGizmoVisual()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre/src/OgreJointVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2021 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre/OgreJointVisual.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | OgreJointVisual::OgreJointVisual()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | OgreJointVisual::~OgreJointVisual()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre/src/OgreParticleEmitter.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre/OgreParticleEmitter.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | OgreParticleEmitter::OgreParticleEmitter()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | OgreParticleEmitter::~OgreParticleEmitter()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre/src/OgreSensor.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre/OgreSensor.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | OgreSensor::OgreSensor()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | OgreSensor::~OgreSensor()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre/src/media/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(fonts)
2 | add_subdirectory(materials)
3 | add_subdirectory(rtshaderlib150)
4 |
--------------------------------------------------------------------------------
/ogre/src/media/fonts/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | file(GLOB files "*ttf" "*png" "*fontdef")
2 |
3 | install(FILES ${files} DESTINATION ${GZ_RENDERING_RELATIVE_RESOURCE_PATH}/ogre/media/fonts)
4 | install(DIRECTORY liberation-sans DESTINATION ${GZ_RENDERING_RELATIVE_RESOURCE_PATH}/ogre/media/fonts)
5 | install(DIRECTORY roboto DESTINATION ${GZ_RENDERING_RELATIVE_RESOURCE_PATH}/ogre/media/fonts)
6 |
--------------------------------------------------------------------------------
/ogre/src/media/fonts/README.md:
--------------------------------------------------------------------------------
1 | This package uses the following fonts:
2 |
3 | - Liberation Sans
4 | - https://en.wikipedia.org/wiki/Liberation_fonts
5 | - https://www.fontsquirrel.com/fonts/Liberation-Sans
6 |
7 | - Roboto
8 | - https://fonts.google.com/specimen/Roboto/about
--------------------------------------------------------------------------------
/ogre/src/media/fonts/console.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/console.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/font_matisse_itc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/font_matisse_itc.png
--------------------------------------------------------------------------------
/ogre/src/media/fonts/liberation-sans/LiberationSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/liberation-sans/LiberationSans-Bold.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/liberation-sans/LiberationSans-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/liberation-sans/LiberationSans-BoldItalic.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/liberation-sans/LiberationSans-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/liberation-sans/LiberationSans-Italic.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/liberation-sans/LiberationSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/liberation-sans/LiberationSans-Regular.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-Black.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-BlackItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-BlackItalic.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-BoldItalic.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-Italic.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-Light.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-LightItalic.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-MediumItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-MediumItalic.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-Thin.ttf
--------------------------------------------------------------------------------
/ogre/src/media/fonts/roboto/Roboto-ThinItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/fonts/roboto/Roboto-ThinItalic.ttf
--------------------------------------------------------------------------------
/ogre/src/media/materials/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(programs)
2 | add_subdirectory(scripts)
3 | add_subdirectory(textures)
4 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | file(GLOB files "*.glsl")
2 |
3 | install(FILES ${files} DESTINATION ${GZ_RENDERING_RELATIVE_RESOURCE_PATH}/ogre/media/materials/programs)
4 |
5 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/camera_distortion_map_vs.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2021 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | // Simple vertex shader; just setting things up for the real work to be done in
19 | // camera_distortion_fs.glsl.
20 | void main()
21 | {
22 | gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
23 | gl_TexCoord[0] = gl_MultiTexCoord0;
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/depth_fragment_shader.glsl:
--------------------------------------------------------------------------------
1 | uniform float pNear;
2 | uniform float pFar;
3 |
4 | varying float depth;
5 |
6 | void main()
7 | {
8 | // This normalizes the depth value
9 | // gl_FragColor = vec4(vec3(depth / (pFar - pNear)), 1.0);
10 |
11 | // This returns the world position
12 | gl_FragColor = vec4(vec3(depth), 1.0);
13 | }
14 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/depth_points_fs.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | varying vec4 eyePos;
19 |
20 | void main()
21 | {
22 | // convert to z up
23 | gl_FragColor = vec4(-eyePos.z, -eyePos.x, eyePos.y, 1.0);
24 | }
25 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/depth_points_vs.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | varying vec4 eyePos;
19 |
20 | void main()
21 | {
22 | gl_Position = ftransform();
23 | eyePos = gl_ModelViewMatrix * gl_Vertex;
24 | gl_TexCoord[0] = gl_MultiTexCoord0;
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/depth_vertex_shader.glsl:
--------------------------------------------------------------------------------
1 | uniform vec4 texelOffsets;
2 |
3 | varying float depth;
4 |
5 | void main()
6 | {
7 | gl_Position = ftransform();
8 | gl_Position.xy += texelOffsets.zw * gl_Position.w;
9 | depth = gl_Position.w; // copied from old gazebo
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/fragment_shader.glsl:
--------------------------------------------------------------------------------
1 | void main()
2 | {
3 | gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
4 | }
5 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/gaussian_noise_vs.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | // Simple vertex shader; just setting things up for the real work to be done in
19 | // gaussian_noise_fs.glsl.
20 | void main()
21 | {
22 | gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
23 | gl_TexCoord[0] = gl_MultiTexCoord0;
24 | }
25 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/gpu_rays_1st_pass_fs.glsl:
--------------------------------------------------------------------------------
1 | uniform float retro;
2 |
3 | uniform float near;
4 | uniform float far;
5 | uniform float max;
6 | uniform float min;
7 |
8 | varying vec4 point;
9 |
10 | void main()
11 | {
12 | float l = length(point.xyz);
13 |
14 | if (l > far)
15 | l = max;
16 | if (l < near)
17 | l = min;
18 |
19 | gl_FragColor = vec4(l, retro, 0, 1.0);
20 | }
21 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/gpu_rays_1st_pass_vs.glsl:
--------------------------------------------------------------------------------
1 | varying vec4 point;
2 |
3 | void main()
4 | {
5 | gl_Position = ftransform();
6 |
7 | // Vertex in world space
8 | point = gl_ModelViewMatrix * gl_Vertex;
9 | }
10 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/gpu_rays_2nd_pass_fs.glsl:
--------------------------------------------------------------------------------
1 | uniform sampler2D tex1;
2 | uniform sampler2D tex2;
3 | uniform sampler2D tex3;
4 |
5 | uniform vec4 texSize;
6 | varying float tex;
7 |
8 | void main()
9 | {
10 | if ((gl_TexCoord[0].s < 0.0) || (gl_TexCoord[0].s > 1.0) ||
11 | (gl_TexCoord[0].t < 0.0) || (gl_TexCoord[0].t > 1.0))
12 | gl_FragColor = vec4(1,1,1,1);
13 | else
14 | {
15 | int int_tex = int(tex * 1000.0);
16 | if (int_tex == 0)
17 | //gl_FragColor=vec4(12,34,56,1);
18 | gl_FragColor = texture2D( tex1, gl_TexCoord[0].st);
19 | else
20 | if (int_tex == 1)
21 | //gl_FragColor=vec4(2,1,0,1);
22 | gl_FragColor = texture2D( tex2, gl_TexCoord[0].st);
23 | else
24 | //gl_FragColor=vec4(3,2,1,1);
25 | gl_FragColor = texture2D( tex3, gl_TexCoord[0].st);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/gpu_rays_2nd_pass_vs.glsl:
--------------------------------------------------------------------------------
1 | varying float tex;
2 |
3 | void main()
4 | {
5 | gl_Position = ftransform();
6 | tex = gl_Vertex.x;
7 | gl_TexCoord[0] = gl_MultiTexCoord0;
8 | }
9 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/lens_flare_vs.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | // Simple vertex shader; just setting things up for the real work to be done in
19 | // camera_distortion_fs.glsl.
20 | void main()
21 | {
22 | gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
23 | gl_TexCoord[0] = gl_MultiTexCoord0;
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/plain_color_fs.glsl:
--------------------------------------------------------------------------------
1 | uniform vec4 inColor;
2 |
3 | void main()
4 | {
5 | gl_FragColor = inColor;
6 | }
7 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/plain_color_vs.glsl:
--------------------------------------------------------------------------------
1 | // Model Level Inputs
2 | uniform mat4 worldViewProj;
3 |
4 | // Vertex Inputs
5 | //in vec4 position;
6 | //in vec2 texCoord0;
7 |
8 | // Outputs
9 | // out vec4 oPosition;
10 | // out vec2 uv0;
11 |
12 | void main()
13 | {
14 | // Calculate output position
15 | //oPosition = worldViewProj * position;
16 | gl_Position = worldViewProj * gl_Vertex;
17 |
18 | // Simply copy the input vertex UV to the output
19 | //uv0 = texCoord0;
20 | gl_TexCoord[0] = gl_MultiTexCoord0;
21 | }
22 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/point_fs.glsl:
--------------------------------------------------------------------------------
1 | #version 120
2 |
3 | void main()
4 | {
5 | gl_FragColor = gl_Color;
6 | }
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/point_vs.glsl:
--------------------------------------------------------------------------------
1 | #version 120
2 |
3 | // Generic vertex shader for point sprites
4 | // sets position and point size.
5 | // Works for perspective and orthographic projection.
6 |
7 | uniform mat4 worldviewproj_matrix;
8 | uniform float size;
9 |
10 | void main()
11 | {
12 | gl_Position = worldviewproj_matrix * gl_Vertex;
13 | gl_FrontColor = gl_Color;
14 | gl_PointSize = size;
15 | }
16 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/shadow_caster_fp.glsl:
--------------------------------------------------------------------------------
1 | // uniform vec4 depth_range;
2 | varying vec4 vertex_depth;
3 |
4 | void main()
5 | {
6 | float depth = (vertex_depth.z) / vertex_depth.w;
7 |
8 | // Linear
9 | // float depth = (vertex_depth.z - depth_range.x) / depth_range.w;
10 |
11 | gl_FragColor = vec4(depth, depth, depth, 1.0);
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/shadow_caster_vp.glsl:
--------------------------------------------------------------------------------
1 | uniform mat4 world_view_proj_mat;
2 | uniform vec4 texel_offsets;
3 |
4 | varying vec4 vertex_depth;
5 |
6 | void main()
7 | {
8 | vertex_depth = world_view_proj_mat * gl_Vertex;
9 | gl_Position = vertex_depth;
10 | gl_Position.xy += texel_offsets.zw * gl_Position.w;
11 | }
12 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/vertex_shader.glsl:
--------------------------------------------------------------------------------
1 | void main()
2 | {
3 | gl_Position = ftransform();
4 | }
5 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/programs/wide_lens_map_vs.glsl:
--------------------------------------------------------------------------------
1 | #version 120
2 |
3 | // aspect ratio
4 | uniform float ratio;
5 |
6 | varying vec2 frag_pos;
7 |
8 | void main()
9 | {
10 | gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
11 |
12 | // get normalized fragment coordinate (3D to 2D window space transformation)
13 | frag_pos = gl_Position.xy/gl_Position.w*vec2(-1.0,-1.0/ratio);
14 | }
15 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/scripts/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | file(GLOB files "*.material" "*.compositor")
2 |
3 | install(FILES ${files} DESTINATION ${GZ_RENDERING_RELATIVE_RESOURCE_PATH}/ogre/media/materials/scripts)
4 |
5 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/scripts/picker.material:
--------------------------------------------------------------------------------
1 | vertex_program plaincolor_vs glsl
2 | {
3 | source plain_color_vs.glsl
4 |
5 | default_params
6 | {
7 | param_named_auto worldViewProj worldviewproj_matrix
8 | }
9 | }
10 |
11 | fragment_program plaincolor_fs glsl
12 | {
13 | source plain_color_fs.glsl
14 |
15 | default_params
16 | {
17 | param_named inColor float4 1 1 1 1
18 | }
19 | }
20 |
21 | material gz-rendering/plain_color
22 | {
23 | // Material has one technique
24 | technique
25 | {
26 | // This technique has one pass
27 | pass
28 | {
29 | fog_override true
30 |
31 | // Make this pass use the vertex shader defined above
32 | vertex_program_ref plaincolor_vs
33 | {
34 | }
35 |
36 | // Make this pass use the pixel shader defined above
37 | fragment_program_ref plaincolor_fs
38 | {
39 | param_named_auto inColor custom 1
40 | }
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/scripts/point_cloud_point.material:
--------------------------------------------------------------------------------
1 |
2 | vertex_program PointCloudVS glsl
3 | {
4 | source point_vs.glsl
5 |
6 | default_params
7 | {
8 | param_named_auto worldviewproj_matrix worldviewproj_matrix
9 | param_named size float 1.0
10 | }
11 | }
12 |
13 | fragment_program PointCloudFS glsl
14 | {
15 | source point_fs.glsl
16 | }
17 |
18 | material PointCloudPoint
19 | {
20 | technique
21 | {
22 | pass
23 | {
24 | point_size_attenuation on
25 | point_sprites on
26 | vertex_program_ref PointCloudVS {}
27 | fragment_program_ref PointCloudFS {}
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/scripts/pssm.material:
--------------------------------------------------------------------------------
1 | vertex_program shadow_caster_vp_glsl glsl
2 | {
3 | source shadow_caster_vp.glsl
4 |
5 | default_params
6 | {
7 | param_named_auto world_view_proj_mat worldviewproj_matrix
8 | param_named_auto texel_offsets texel_offsets
9 | }
10 | }
11 |
12 | fragment_program shadow_caster_fp_glsl glsl
13 | {
14 | source shadow_caster_fp.glsl
15 |
16 | default_params
17 | {
18 | // param_named_auto depth_range shadow_scene_depth_range
19 | }
20 | }
21 |
22 |
23 | material PSSM/shadow_caster
24 | {
25 | technique
26 | {
27 | // all this will do is write depth and depth*depth to red and green
28 | pass
29 | {
30 | vertex_program_ref shadow_caster_vp_glsl
31 | {
32 | }
33 |
34 | fragment_program_ref shadow_caster_fp_glsl
35 | {
36 | }
37 | }
38 | }
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/scripts/wide_angle_camera.material:
--------------------------------------------------------------------------------
1 | vertex_program WideLensMapVS glsl
2 | {
3 | source wide_lens_map_vs.glsl
4 | default_params
5 | {
6 | param_named ratio float 1
7 | }
8 | }
9 |
10 | fragment_program WideLensMapFS glsl
11 | {
12 | source wide_lens_map_fp.glsl
13 | default_params
14 | {
15 | param_named envMap int 0
16 | param_named c1 float 1
17 | param_named c2 float 1
18 | param_named c3 float 0
19 | param_named f float 1
20 | param_named fun float3 0 0 1
21 | param_named cutOffAngle float 3.14
22 | }
23 | }
24 |
25 | material WideLensMap
26 | {
27 | technique
28 | {
29 | pass
30 | {
31 | vertex_program_ref WideLensMapVS { }
32 | fragment_program_ref WideLensMapFS { }
33 | }
34 | }
35 | }
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/scripts/wide_camera_lens_map.compositor:
--------------------------------------------------------------------------------
1 | compositor WideCameraLensMap/ParametrisedMap
2 | {
3 | technique
4 | {
5 | target_output
6 | {
7 | input none
8 | pass render_quad
9 | {
10 | material WideLensMap
11 | }
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/textures/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | file(GLOB files "*.png")
2 |
3 | install(FILES ${files} DESTINATION ${GZ_RENDERING_RELATIVE_RESOURCE_PATH}/ogre/media/materials/textures)
4 |
--------------------------------------------------------------------------------
/ogre/src/media/materials/textures/projection_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre/src/media/materials/textures/projection_filter.png
--------------------------------------------------------------------------------
/ogre/src/media/rtshaderlib150/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set (files
2 | FFPLib_Common.glsl
3 | FFPLib_Fog.glsl
4 | FFPLib_Lighting.glsl
5 | FFPLib_Texturing.glsl
6 | FFPLib_Transform.glsl
7 | SampleLib_ReflectionMap.glsl
8 | SGXLib_IntegratedPSSM.glsl
9 | SGXLib_NormalMapLighting.glsl
10 | SGXLib_PerPixelLighting.glsl
11 | )
12 |
13 | install(FILES ${files} DESTINATION ${GZ_RENDERING_RELATIVE_RESOURCE_PATH}/ogre/media/rtshaderlib150)
14 |
15 |
--------------------------------------------------------------------------------
/ogre2/include/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(gz)
2 |
--------------------------------------------------------------------------------
/ogre2/include/gz/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(rendering)
2 |
--------------------------------------------------------------------------------
/ogre2/include/gz/rendering/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gz_install_all_headers(COMPONENT ogre2)
2 |
--------------------------------------------------------------------------------
/ogre2/include/gz/rendering/ogre2/ogre2.hh.in:
--------------------------------------------------------------------------------
1 | // Automatically generated
2 | #include
3 | ${gz_headers}
4 |
--------------------------------------------------------------------------------
/ogre2/src/Ogre2ArrowVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre2/Ogre2ArrowVisual.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | Ogre2ArrowVisual::Ogre2ArrowVisual()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | Ogre2ArrowVisual::~Ogre2ArrowVisual()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre2/src/Ogre2AxisVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre2/Ogre2AxisVisual.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | Ogre2AxisVisual::Ogre2AxisVisual()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | Ogre2AxisVisual::~Ogre2AxisVisual()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre2/src/Ogre2GizmoVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre2/Ogre2GizmoVisual.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | Ogre2GizmoVisual::Ogre2GizmoVisual()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | Ogre2GizmoVisual::~Ogre2GizmoVisual()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre2/src/Ogre2JointVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2021 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre2/Ogre2JointVisual.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | Ogre2JointVisual::Ogre2JointVisual()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | Ogre2JointVisual::~Ogre2JointVisual()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre2/src/Ogre2Sensor.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/ogre2/Ogre2Sensor.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | Ogre2Sensor::Ogre2Sensor()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | Ogre2Sensor::~Ogre2Sensor()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/Copyback_1xFP32_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( ogre_t0 ) uniform texture2D tex;
4 | vulkan( layout( ogre_s0 ) uniform sampler texSampler );
5 |
6 | vulkan_layout( location = 0 )
7 | in block
8 | {
9 | vec2 uv0;
10 | } inPs;
11 |
12 | vulkan_layout( location = 0 )
13 | out float fragColour;
14 |
15 | void main()
16 | {
17 | fragColour = texture( vkSampler2D( tex, texSampler ), inPs.uv0 ).x;
18 | }
19 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/Copyback_3xFP32_ps.glsl:
--------------------------------------------------------------------------------
1 | #version 330
2 |
3 | uniform sampler2D tex;
4 |
5 | in block
6 | {
7 | vec2 uv0;
8 | } inPs;
9 |
10 | out vec3 fragColour;
11 |
12 | void main()
13 | {
14 | fragColour = texture( tex, inPs.uv0 ).xyz;
15 | }
16 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/Copyback_4xFP32_2DArray_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( ogre_t0 ) uniform texture2DArray tex;
4 | vulkan( layout( ogre_s0 ) uniform sampler texSampler );
5 |
6 | vulkan( layout( ogre_P0 ) uniform Params { )
7 | uniform float sliceIdx;
8 | vulkan( }; )
9 |
10 | vulkan_layout( location = 0 )
11 | in block
12 | {
13 | vec2 uv0;
14 | } inPs;
15 |
16 | vulkan_layout( location = 0 )
17 | out vec4 fragColour;
18 |
19 | void main()
20 | {
21 | fragColour = texture( vkSampler2DArray( tex, texSampler ), vec3( inPs.uv0, sliceIdx ) );
22 | }
23 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/Copyback_4xFP32_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( ogre_t0 ) uniform texture2D tex;
4 | vulkan( layout( ogre_s0 ) uniform sampler texSampler );
5 |
6 | vulkan_layout( location = 0 )
7 | in block
8 | {
9 | vec2 uv0;
10 | } inPs;
11 |
12 | vulkan_layout( location = 0 )
13 | out vec4 fragColour;
14 |
15 | void main()
16 | {
17 | fragColour = texture( vkSampler2D( tex, texSampler ), inPs.uv0 );
18 | }
19 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/CubeToDpm_4xFP16_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan( layout( ogre_P0 ) uniform Params { )
4 | uniform float lodLevel;
5 | vulkan( }; )
6 |
7 | vulkan_layout( ogre_t0 ) uniform textureCube cubeTexture;
8 | vulkan( layout( ogre_s0 ) uniform sampler cubeSampler );
9 |
10 | vulkan_layout( location = 0 )
11 | in block
12 | {
13 | vec2 uv0;
14 | } inPs;
15 |
16 | vulkan_layout( location = 0 )
17 | out vec4 fragColour;
18 |
19 | void main()
20 | {
21 | vec3 cubeDir;
22 | cubeDir.x = mod( inPs.uv0.x, 0.5 ) * 4.0 - 1.0;
23 | cubeDir.y = inPs.uv0.y * 2.0 - 1.0;
24 | cubeDir.z = 0.5 - 0.5 * (cubeDir.x * cubeDir.x + cubeDir.y * cubeDir.y);
25 | cubeDir.z = inPs.uv0.x < 0.5 ? cubeDir.z : -cubeDir.z;
26 |
27 | fragColour.xyzw = textureLod( vkSamplerCube( cubeTexture, cubeSampler ), cubeDir.xyz, lodLevel ).xyzw;
28 | }
29 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/CubeToDpsm_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( ogre_t0 ) uniform textureCube depthTexture;
4 | vulkan( layout( ogre_s0 ) uniform sampler cubeSampler );
5 |
6 | vulkan_layout( location = 0 )
7 | in block
8 | {
9 | vec2 uv0;
10 | } inPs;
11 |
12 | in vec4 gl_FragCoord;
13 | //out float gl_FragDepth;
14 |
15 | #ifdef OUTPUT_TO_COLOUR
16 | vulkan_layout( location = 0 )
17 | out float fragColour;
18 | #endif
19 |
20 | void main()
21 | {
22 | vec3 cubeDir;
23 |
24 | cubeDir.x = mod( inPs.uv0.x, 0.5 ) * 4.0 - 1.0;
25 | cubeDir.y = inPs.uv0.y * 2.0 - 1.0;
26 | cubeDir.z = 0.5 - 0.5 * (cubeDir.x * cubeDir.x + cubeDir.y * cubeDir.y);
27 |
28 | cubeDir.z = inPs.uv0.x < 0.5 ? cubeDir.z : -cubeDir.z;
29 |
30 | float depthValue = textureLod( vkSamplerCube( depthTexture, cubeSampler ), cubeDir.xyz, 0 ).x;
31 |
32 | #ifdef OUTPUT_TO_COLOUR
33 | fragColour = depthValue;
34 | #else
35 | gl_FragDepth = depthValue;
36 | #endif
37 | }
38 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/DepthDownscaleMax_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( ogre_t0 ) uniform texture2D depthTexture;
4 |
5 | in vec4 gl_FragCoord;
6 | //out float gl_FragDepth;
7 |
8 | void main()
9 | {
10 | float fDepth0 = texelFetch( depthTexture, ivec2(gl_FragCoord.xy * 2.0), 0 ).x;
11 | float fDepth1 = texelFetch( depthTexture, ivec2(gl_FragCoord.xy * 2.0) + ivec2( 0, 1 ), 0 ).x;
12 | float fDepth2 = texelFetch( depthTexture, ivec2(gl_FragCoord.xy * 2.0) + ivec2( 1, 0 ), 0 ).x;
13 | float fDepth3 = texelFetch( depthTexture, ivec2(gl_FragCoord.xy * 2.0) + ivec2( 1, 1 ), 0 ).x;
14 |
15 | //gl_FragDepth = texelFetch( depthTexture, ivec2(gl_FragCoord.xy * 2.0), 0 ).x;
16 | gl_FragDepth = max( max( fDepth0, fDepth1 ), max( fDepth2, fDepth3 ) );
17 | }
18 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/HiddenAreaMeshVr_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( location = 0 )
4 | out vec4 fragColour;
5 |
6 | void main()
7 | {
8 | fragColour = vec4( 0 );
9 | }
10 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/HiddenAreaMeshVr_vs.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | #extension GL_ARB_shader_viewport_layer_array : require
4 |
5 | #define float2 vec2
6 | #define float3 vec3
7 | #define float4 vec4
8 |
9 | #define float4x4 mat4
10 | #define mul( x, y ) ((x) * (y))
11 |
12 | vulkan( layout( ogre_P0 ) uniform Params { )
13 | uniform float4x4 projectionMatrix;
14 | uniform float2 rsDepthRange;
15 | vulkan( }; )
16 |
17 | vulkan_layout( OGRE_POSITION ) in vec4 vertex;
18 |
19 | vulkan_layout( location = 0 )
20 | out gl_PerVertex
21 | {
22 | vec4 gl_Position;
23 | };
24 |
25 | void main()
26 | {
27 | gl_Position.xy = mul( projectionMatrix, float4( vertex.xy, 0.0f, 1.0f ) ).xy;
28 | gl_Position.z = rsDepthRange.x;
29 | gl_Position.w = 1.0f;
30 | gl_ViewportIndex = int( vertex.z );
31 | }
32 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/QuadCameraDirNoUV_vs.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( OGRE_POSITION ) in vec2 vertex;
4 | vulkan_layout( OGRE_NORMAL ) in vec3 normal;
5 |
6 | vulkan( layout( ogre_P0 ) uniform Params { )
7 | uniform vec2 rsDepthRange;
8 | uniform mat4 worldViewProj;
9 | vulkan( }; )
10 |
11 | out gl_PerVertex
12 | {
13 | vec4 gl_Position;
14 | };
15 |
16 | vulkan_layout( location = 0 )
17 | out block
18 | {
19 | vec3 cameraDir;
20 | } outVs;
21 |
22 | void main()
23 | {
24 | gl_Position.xy = (worldViewProj * vec4( vertex.xy, 0, 1.0f )).xy;
25 | gl_Position.z = rsDepthRange.y;
26 | gl_Position.w = 1.0f;
27 | outVs.cameraDir.xyz = normal.xyz;
28 | }
29 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/QuadCameraDir_vs.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( OGRE_POSITION ) in vec3 vertex;
4 | vulkan_layout( OGRE_NORMAL ) in vec3 normal;
5 | vulkan_layout( OGRE_TEXCOORD0 ) in vec2 uv0;
6 |
7 | vulkan( layout( ogre_P0 ) uniform Params { )
8 | uniform mat4 worldViewProj;
9 | vulkan( }; )
10 |
11 | out gl_PerVertex
12 | {
13 | vec4 gl_Position;
14 | };
15 |
16 | vulkan_layout( location = 0 )
17 | out block
18 | {
19 | vec2 uv0;
20 | vec3 cameraDir;
21 | } outVs;
22 |
23 | void main()
24 | {
25 | gl_Position = worldViewProj * vec4( vertex, 1.0 );
26 | outVs.uv0.xy = uv0.xy;
27 | outVs.cameraDir.xyz = normal.xyz;
28 | }
29 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/Quad_vs.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( OGRE_POSITION ) in vec3 vertex;
4 | vulkan_layout( OGRE_TEXCOORD0 ) in vec2 uv0;
5 |
6 | vulkan( layout( ogre_P0 ) uniform Params { )
7 | uniform mat4 worldViewProj;
8 | vulkan( }; )
9 |
10 | out gl_PerVertex
11 | {
12 | vec4 gl_Position;
13 | };
14 |
15 | vulkan_layout( location = 0 )
16 | out block
17 | {
18 | vec2 uv0;
19 | } outVs;
20 |
21 | void main()
22 | {
23 | gl_Position = worldViewProj * vec4( vertex, 1.0 );
24 | outVs.uv0.xy = uv0.xy;
25 | }
26 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/RadialDensityMask_vs.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | #extension GL_ARB_shader_viewport_layer_array : require
4 |
5 | #ifdef VULKAN
6 | #define gl_VertexID gl_VertexIndex
7 | #endif
8 |
9 | vulkan_layout( OGRE_POSITION ) in vec2 vertex;
10 |
11 | vulkan( layout( ogre_P0 ) uniform Params { )
12 | uniform float ogreBaseVertex;
13 | uniform vec2 rsDepthRange;
14 | uniform mat4 worldViewProj;
15 | vulkan( }; )
16 |
17 | out gl_PerVertex
18 | {
19 | vec4 gl_Position;
20 | };
21 |
22 | void main()
23 | {
24 | gl_Position.xy = (worldViewProj * vec4( vertex.xy, 0, 1.0f )).xy;
25 | gl_Position.z = rsDepthRange.x;
26 | gl_Position.w = 1.0f;
27 | gl_ViewportIndex = (gl_VertexID - ogreBaseVertex) >= (3 * 4) ? 1 : 0;
28 | }
29 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/Resolve_1xFP32_Subsample0_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( ogre_t0 ) uniform texture2DMS tex;
4 |
5 | vulkan_layout( location = 0 )
6 | in block
7 | {
8 | vec2 uv0;
9 | } inPs;
10 |
11 | vulkan_layout( location = 0 )
12 | out float fragColour;
13 |
14 | in vec4 gl_FragCoord;
15 |
16 | void main()
17 | {
18 | fragColour = texelFetch( tex, ivec2( gl_FragCoord.xy ), 0 ).x;
19 | }
20 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/SkyCubemap_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( ogre_t0 ) uniform textureCube skyCubemap;
4 | vulkan( layout( ogre_s0 ) uniform sampler samplerState );
5 |
6 | vulkan_layout( location = 0 )
7 | in block
8 | {
9 | vec3 cameraDir;
10 | } inPs;
11 |
12 | vulkan_layout( location = 0 )
13 | out vec4 fragColour;
14 |
15 | void main()
16 | {
17 | //Cubemaps are left-handed
18 | fragColour = texture( vkSamplerCube( skyCubemap, samplerState ),
19 | vec3( inPs.cameraDir.xy, -inPs.cameraDir.z ) );
20 | }
21 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/GLSL/SkyEquirectangular_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | #define float2 vec2
4 | #define float3 vec3
5 |
6 | #define PI 3.14159265359f
7 |
8 | vulkan_layout( ogre_t0 ) uniform texture2DArray skyEquirectangular;
9 | vulkan( layout( ogre_s0 ) uniform sampler samplerState );
10 |
11 | vulkan( layout( ogre_P0 ) uniform Params { )
12 | uniform float sliceIdx;
13 | vulkan( }; )
14 |
15 | vulkan_layout( location = 0 )
16 | in block
17 | {
18 | vec3 cameraDir;
19 | } inPs;
20 |
21 | vulkan_layout( location = 0 )
22 | out vec4 fragColour;
23 |
24 | float atan2(in float y, in float x)
25 | {
26 | return x == 0.0 ? sign(y)*PI/2 : atan(y, x);
27 | }
28 |
29 | void main()
30 | {
31 | float3 cameraDir = normalize( inPs.cameraDir );
32 | float2 longlat;
33 | longlat.x = atan2( cameraDir.x, -cameraDir.z ) + PI;
34 | longlat.y = acos( cameraDir.y );
35 | float2 uv = longlat / float2( 2.0f * PI, PI );
36 | fragColour = texture( vkSampler2DArray( skyEquirectangular, samplerState ), vec3( uv.xy, 0 ) );
37 | }
38 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/Copyback_1xFP32_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct PS_INPUT
5 | {
6 | float2 uv0;
7 | };
8 |
9 | fragment float main_metal
10 | (
11 | PS_INPUT inPs [[stage_in]],
12 | texture2d myTexture [[texture(0)]],
13 | sampler mySampler [[sampler(0)]]
14 | )
15 | {
16 | return myTexture.sample( mySampler, inPs.uv0 ).x;
17 | }
18 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/Copyback_3xFP32_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct PS_INPUT
5 | {
6 | float2 uv0;
7 | };
8 |
9 | fragment float3 main_metal
10 | (
11 | PS_INPUT inPs [[stage_in]],
12 | texture2d myTexture [[texture(0)]],
13 | sampler mySampler [[sampler(0)]]
14 | )
15 | {
16 | return myTexture.sample( mySampler, inPs.uv0 ).xyz;
17 | }
18 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/Copyback_4xFP32_2DArray_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct PS_INPUT
5 | {
6 | float2 uv0;
7 | };
8 |
9 | fragment float4 main_metal
10 | (
11 | PS_INPUT inPs [[stage_in]],
12 | texture2d_array myTexture [[texture(0)]],
13 | sampler mySampler [[sampler(0)]],
14 | constant float &sliceIdx [[buffer(PARAMETER_SLOT)]]
15 | )
16 | {
17 | return myTexture.sample( mySampler, inPs.uv0, (uint)sliceIdx ).xyzw;
18 | }
19 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/Copyback_4xFP32_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct PS_INPUT
5 | {
6 | float2 uv0;
7 | };
8 |
9 | fragment float4 main_metal
10 | (
11 | PS_INPUT inPs [[stage_in]],
12 | texture2d myTexture [[texture(0)]],
13 | sampler mySampler [[sampler(0)]]
14 | )
15 | {
16 | return myTexture.sample( mySampler, inPs.uv0 ).xyzw;
17 | }
18 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/CubeToDpm_4xFP16_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct PS_INPUT
5 | {
6 | float2 uv0;
7 | };
8 |
9 | fragment half4 main_metal
10 | (
11 | PS_INPUT inPs [[stage_in]],
12 |
13 | texturecube cubeTexture [[texture(0)]],
14 | sampler samplerState [[sampler(0)]],
15 |
16 | constant float &lodLevel [[buffer(PARAMETER_SLOT)]]
17 | )
18 | {
19 | float3 cubeDir;
20 |
21 | cubeDir.x = fmod( inPs.uv0.x, 0.5 ) * 4.0 - 1.0;
22 | cubeDir.y = inPs.uv0.y * 2.0 - 1.0;
23 | cubeDir.z = 0.5 - 0.5 * (cubeDir.x * cubeDir.x + cubeDir.y * cubeDir.y);
24 |
25 | cubeDir.z = inPs.uv0.x < 0.5 ? cubeDir.z : -cubeDir.z;
26 |
27 | return cubeTexture.sample( samplerState, cubeDir.xyz, level(lodLevel) ).xyzw;
28 | }
29 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/CubeToDpsm_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct PS_INPUT
5 | {
6 | float2 uv0;
7 | };
8 |
9 | struct PS_OUTPUT
10 | {
11 | #if OUTPUT_TO_COLOUR
12 | float depth [[color(0)]];
13 | #else
14 | float depth [[depth(any)]];
15 | #endif
16 | };
17 |
18 | fragment PS_OUTPUT main_metal
19 | (
20 | PS_INPUT inPs [[stage_in]],
21 |
22 | texturecube depthTexture [[texture(0)]],
23 | sampler samplerState [[sampler(0)]]
24 | )
25 | {
26 | float3 cubeDir;
27 |
28 | cubeDir.x = fmod( inPs.uv0.x, 0.5 ) * 4.0 - 1.0;
29 | cubeDir.y = inPs.uv0.y * 2.0 - 1.0;
30 | cubeDir.z = 0.5 - 0.5 * (cubeDir.x * cubeDir.x + cubeDir.y * cubeDir.y);
31 |
32 | cubeDir.z = inPs.uv0.x < 0.5 ? cubeDir.z : -cubeDir.z;
33 |
34 | PS_OUTPUT outPs;
35 | outPs.depth = depthTexture.sample( samplerState, cubeDir.xyz, level(0) ).x;
36 | return outPs;
37 | }
38 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/DepthDownscaleMax_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct PS_INPUT
5 | {
6 | float2 uv0;
7 | };
8 |
9 | struct PS_OUTPUT
10 | {
11 | float depth [[depth(any)]];
12 | };
13 |
14 | fragment PS_OUTPUT main_metal
15 | (
16 | PS_INPUT inPs [[stage_in]],
17 |
18 | depth2d depthTexture [[texture(0)]],
19 |
20 | float4 gl_FragCoord [[position]]
21 | )
22 | {
23 | uint2 iFragCoord = (uint2)(gl_FragCoord.xy * 2.0);
24 | float fDepth0 = depthTexture.read( iFragCoord );
25 | float fDepth1 = depthTexture.read( iFragCoord + uint2( 0, 1 ) );
26 | float fDepth2 = depthTexture.read( iFragCoord + uint2( 1, 0 ) );
27 | float fDepth3 = depthTexture.read( iFragCoord + uint2( 1, 1 ) );
28 |
29 | PS_OUTPUT outPs;
30 | //outPs.depth =depthTexture.read( uint2(gl_FragCoord.xy * 2.0) ).x;
31 | outPs.depth = max( max( fDepth0, fDepth1 ), max( fDepth2, fDepth3 ) );
32 | return outPs;
33 | }
34 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/HiddenAreaMeshVr_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | fragment float4 main_metal()
5 | {
6 | return float4( 0, 0, 0, 0 );
7 | }
8 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/HiddenAreaMeshVr_vs.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct VS_INPUT
5 | {
6 | float4 position [[attribute(VES_POSITION)]];
7 | };
8 |
9 | struct PS_INPUT
10 | {
11 | float4 gl_Position [[position]];
12 | uint gl_ViewportIndex [[viewport_array_index]];
13 | };
14 |
15 | struct Params
16 | {
17 | float4x4 projectionMatrix;
18 | float2 rsDepthRange;
19 | };
20 |
21 | vertex PS_INPUT main_metal
22 | (
23 | VS_INPUT input [[stage_in]],
24 | constant Params &p [[buffer(PARAMETER_SLOT)]]
25 | )
26 | {
27 | PS_INPUT outVs;
28 |
29 | outVs.gl_Position.xy = ( p.projectionMatrix * float4( input.position.xy, 0.0f, 1.0f ) ).xy;
30 | outVs.gl_Position.z = p.rsDepthRange.x;
31 | outVs.gl_Position.w = 1.0f;
32 | outVs.gl_ViewportIndex = uint( input.position.z );
33 |
34 | return outVs;
35 | }
36 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/QuadCameraDirNoUV_vs.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct VS_INPUT
5 | {
6 | float4 position [[attribute(VES_POSITION)]];
7 | float3 normal [[attribute(VES_NORMAL)]];
8 | };
9 |
10 | struct PS_INPUT
11 | {
12 | float3 cameraDir;
13 |
14 | float4 gl_Position [[position]];
15 | };
16 |
17 | struct Params
18 | {
19 | float2 rsDepthRange;
20 | float4x4 worldViewProj;
21 | };
22 |
23 | vertex PS_INPUT main_metal
24 | (
25 | VS_INPUT input [[stage_in]],
26 | constant Params &p [[buffer(PARAMETER_SLOT)]]
27 | )
28 | {
29 | PS_INPUT outVs;
30 |
31 | outVs.gl_Position.xy= ( p.worldViewProj * float4( input.position.xy, 0.0f, 1.0f ) ).xy;
32 | outVs.gl_Position.z = p.rsDepthRange.y;
33 | outVs.gl_Position.w = 1.0f;
34 | outVs.cameraDir = input.normal;
35 |
36 | return outVs;
37 | }
38 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/QuadCameraDir_vs.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct VS_INPUT
5 | {
6 | float4 position [[attribute(VES_POSITION)]];
7 | float3 normal [[attribute(VES_NORMAL)]];
8 | float2 uv0 [[attribute(VES_TEXTURE_COORDINATES0)]];
9 | };
10 |
11 | struct PS_INPUT
12 | {
13 | float2 uv0;
14 | float3 cameraDir;
15 |
16 | float4 gl_Position [[position]];
17 | };
18 |
19 | vertex PS_INPUT main_metal
20 | (
21 | VS_INPUT input [[stage_in]],
22 | constant float4x4 &worldViewProj [[buffer(PARAMETER_SLOT)]]
23 | )
24 | {
25 | PS_INPUT outVs;
26 |
27 | outVs.gl_Position = ( worldViewProj * input.position ).xyzw;
28 | outVs.uv0 = input.uv0;
29 | outVs.cameraDir = input.normal;
30 |
31 | return outVs;
32 | }
33 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/Quad_vs.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct VS_INPUT
5 | {
6 | float4 position [[attribute(VES_POSITION)]];
7 | float2 uv0 [[attribute(VES_TEXTURE_COORDINATES0)]];
8 | };
9 |
10 | struct PS_INPUT
11 | {
12 | float2 uv0;
13 | float4 gl_Position [[position]];
14 | };
15 |
16 | vertex PS_INPUT main_metal
17 | (
18 | VS_INPUT input [[stage_in]],
19 | constant float4x4 &worldViewProj [[buffer(PARAMETER_SLOT)]]
20 | )
21 | {
22 | PS_INPUT outVs;
23 |
24 | outVs.gl_Position = ( worldViewProj * input.position ).xyzw;
25 | outVs.uv0 = input.uv0;
26 |
27 | return outVs;
28 | }
29 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/RadialDensityMask_vs.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct VS_INPUT
5 | {
6 | float4 position [[attribute(VES_POSITION)]];
7 | };
8 |
9 | struct PS_INPUT
10 | {
11 | float4 gl_Position [[position]];
12 | uint gl_ViewportIndex [[viewport_array_index]];
13 | };
14 |
15 | struct Params
16 | {
17 | float ogreBaseVertex;
18 | float2 rsDepthRange;
19 | float4x4 worldViewProj;
20 | };
21 |
22 | vertex PS_INPUT main_metal
23 | (
24 | VS_INPUT input [[stage_in]],
25 | constant Params &p [[buffer(PARAMETER_SLOT)]],
26 |
27 | uint gl_VertexID [[vertex_id]]
28 | )
29 | {
30 | PS_INPUT outVs;
31 |
32 | outVs.gl_Position.xy= ( p.worldViewProj * float4( input.position.xy, 0.0f, 1.0f ) ).xy;
33 | outVs.gl_Position.z = p.rsDepthRange.x;
34 | outVs.gl_Position.w = 1.0f;
35 | outVs.gl_ViewportIndex = gl_VertexID >= (3 * 4) ? 1 : 0;
36 |
37 | return outVs;
38 | }
39 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/Resolve_1xFP32_Subsample0_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct PS_INPUT
5 | {
6 | float2 uv0;
7 | float4 gl_FragCoord [[position]];
8 | };
9 |
10 | fragment float main_metal
11 | (
12 | PS_INPUT inPs [[stage_in]],
13 | texture2d_ms myTexture [[texture(0)]]
14 | )
15 | {
16 | return myTexture.read( uint2( inPs.gl_FragCoord.xy ), 0 ).x;
17 | }
18 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/SkyCubemap_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | struct PS_INPUT
5 | {
6 | float3 cameraDir;
7 | };
8 |
9 | fragment float4 main_metal
10 | (
11 | PS_INPUT inPs [[stage_in]],
12 | texturecube skyCubemap [[texture(0)]],
13 | sampler samplerState [[sampler(0)]]
14 | )
15 | {
16 | //Cubemaps are left-handed
17 | return skyCubemap.sample( samplerState, float3( inPs.cameraDir.xy, -inPs.cameraDir.z ) ).xyzw;
18 | }
19 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/Metal/SkyEquirectangular_ps.metal:
--------------------------------------------------------------------------------
1 | #include
2 | using namespace metal;
3 |
4 | #define PI 3.14159265359f
5 |
6 | struct PS_INPUT
7 | {
8 | float3 cameraDir;
9 | };
10 |
11 | fragment float4 main_metal
12 | (
13 | PS_INPUT inPs [[stage_in]],
14 | texture2d_array skyEquirectangular [[texture(0)]],
15 | sampler samplerState [[sampler(0)]],
16 |
17 | constant float &sliceIdx [[buffer(PARAMETER_SLOT)]]
18 | )
19 | {
20 | float3 cameraDir = normalize( inPs.cameraDir );
21 | float2 longlat;
22 | longlat.x = atan2( cameraDir.x, -cameraDir.z ) + PI;
23 | longlat.y = acos( cameraDir.y );
24 | float2 uv = longlat / float2( 2.0f * PI, PI );
25 |
26 | return skyEquirectangular.sample( samplerState, uv.xy, uint( sliceIdx ) ).xyzw;
27 | }
28 |
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/brtfLutDfg.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre2/src/media/2.0/scripts/materials/Common/brtfLutDfg.dds
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/ltcMatrix0.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre2/src/media/2.0/scripts/materials/Common/ltcMatrix0.dds
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Common/ltcMatrix1.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre2/src/media/2.0/scripts/materials/Common/ltcMatrix1.dds
--------------------------------------------------------------------------------
/ogre2/src/media/2.0/scripts/materials/Terra/GpuNormalMapper.compositor:
--------------------------------------------------------------------------------
1 | compositor_node Terra/GpuNormalMapper
2 | {
3 | in 0 rt_output
4 |
5 | target rt_output
6 | {
7 | pass render_quad
8 | {
9 | material Terra/GpuNormalMapper
10 | }
11 |
12 | pass generate_mipmaps
13 | {
14 | }
15 | }
16 | }
17 |
18 | workspace Terra/GpuNormalMapperWorkspace
19 | {
20 | connect_output Terra/GpuNormalMapper 0
21 | }
22 |
23 | compositor_node Terra/GpuNormalMapperU16
24 | {
25 | in 0 rt_output
26 |
27 | target rt_output
28 | {
29 | pass render_quad
30 | {
31 | material Terra/GpuNormalMapperU16
32 | }
33 |
34 | pass generate_mipmaps
35 | {
36 | }
37 | }
38 | }
39 |
40 | workspace Terra/GpuNormalMapperWorkspaceU16
41 | {
42 | connect_output Terra/GpuNormalMapperU16 0
43 | }
44 |
--------------------------------------------------------------------------------
/ogre2/src/media/Compute/Tools/Any/sRGB.any:
--------------------------------------------------------------------------------
1 |
2 | @piece( DeclSRgbFuncs )
3 | INLINE float toSRGB( float x )
4 | {
5 | return (x < 0.0031308 ? x * 12.92 : 1.055 * pow( x, 0.41666 ) - 0.055 );
6 | }
7 |
8 | INLINE float4 toSRGB( float4 x )
9 | {
10 | return float4( toSRGB( x.x ), toSRGB( x.y ), toSRGB( x.z ), x.w );
11 | }
12 |
13 | INLINE float fromSRGB( float x )
14 | {
15 | return x <= 0.040449907f ? x / 12.92f : pow( (x + 0.055) / 1.055, 2.4 );
16 | }
17 |
18 | INLINE float4 fromSRGB( float4 x )
19 | {
20 | return float4( fromSRGB( x.x ), fromSRGB( x.y ), fromSRGB( x.z ), x.w );
21 | }
22 | @end
23 |
--------------------------------------------------------------------------------
/ogre2/src/media/Compute/Tools/ClearUav.material.json:
--------------------------------------------------------------------------------
1 | {
2 | "compute" :
3 | {
4 | "Compute/Tools/ClearUav" :
5 | {
6 | "threads_per_group" : [32, 2, 1],
7 | "thread_groups" : [4, 4, 4],
8 |
9 | "source" : "ClearUav_cs",
10 | "inform_shader_of_texture_data_change" : true,
11 |
12 | "thread_groups_based_on_uav" :
13 | {
14 | "slot" : 0,
15 | "divisor" : [ 1, 1, 1 ]
16 | },
17 |
18 | "uav_units" : 1
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Common/Any/DualParaboloid_piece_ps.any:
--------------------------------------------------------------------------------
1 |
2 | //#include "SyntaxHighlightingMisc.h"
3 | @piece( DeclDualParaboloidFunc )
4 |
5 | /// Converts UVW coordinates that would be used for sampling a cubemap,
6 | /// and returns UV coordinates to sample a dual paraboloid in 2D
7 | INLINE float2 mapCubemapToDpm( float3 cubemapDir )
8 | {
9 | cubemapDir = normalize( cubemapDir );
10 | float2 retVal;
11 | retVal.x = (cubemapDir.x / (1.0 + abs( cubemapDir.z ))) * 0.25 +
12 | (cubemapDir.z < 0.0 ? 0.75 : 0.25 );
13 | retVal.y = (cubemapDir.y / (1.0 + abs( cubemapDir.z ))) * 0.5 + 0.5;
14 | return retVal;
15 | }
16 |
17 | @end /// DeclDualParaboloidFunc
18 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Common/Any/ReverseDepthHelpers_piece_ps.any:
--------------------------------------------------------------------------------
1 |
2 | @piece( DeclReverseDepthMacros )
3 | @property( hlms_no_reverse_depth )
4 | #define OGRE_DEPTH_CMP_GE( a, b ) (a) >= (b)
5 | #define OGRE_DEPTH_DEFAULT_CLEAR 1.0
6 | @else
7 | #define OGRE_DEPTH_CMP_GE( a, b ) (a) <= (b)
8 | #define OGRE_DEPTH_DEFAULT_CLEAR 0.0
9 | @end
10 | @end
11 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Common/Any/UnpackHelpers_piece_all.any:
--------------------------------------------------------------------------------
1 |
2 | @piece( UnpackHelpers )
3 | INLINE float2 unpackUshort2ToFloat2( uint value )
4 | {
5 | return float2( value & 0xFFFFu, value >> 16u );
6 | }
7 | @end
8 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Common/GLSL/RenderDepthOnly_piece_ps.glsl:
--------------------------------------------------------------------------------
1 | @property( hlms_render_depth_only && !alpha_test && !hlms_shadows_esm && !macOS)
2 | @set( hlms_disable_stage, 1 )
3 | @end
4 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Common/GLSLES/RenderDepthOnly_piece_ps.glsl:
--------------------------------------------------------------------------------
1 | @property( 0 && hlms_render_depth_only && !alpha_test && !hlms_shadows_esm && !macOS)
2 | @set( hlms_disable_stage, 1 )
3 | @end
4 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Common/HLSL/UavCrossPlatform_piece_all.hlsl:
--------------------------------------------------------------------------------
1 |
2 | @piece( DeclUavCrossPlatform )
3 |
4 | #define OGRE_imageLoad2D( inImage, iuv ) inImage[uint2( iuv )]
5 | #define OGRE_imageLoad2DArray( inImage, iuvw ) inImage[uint3( iuvw )]
6 |
7 | #define OGRE_imageWrite2D1( outImage, iuv, value ) outImage[uint2( iuv )] = value
8 | #define OGRE_imageWrite2D2( outImage, iuv, value ) outImage[uint2( iuv )] = (value).xy
9 | #define OGRE_imageWrite2D4( outImage, iuv, value ) outImage[uint2( iuv )] = value
10 |
11 | #define OGRE_imageLoad3D( inImage, iuv ) inImage[uint3( iuv )]
12 |
13 | #define OGRE_imageWrite3D1( outImage, iuv, value ) outImage[uint3( iuv )] = value.x
14 | #define OGRE_imageWrite3D4( outImage, iuv, value ) outImage[uint3( iuv )] = value
15 |
16 | #define OGRE_imageWrite2DArray1( outImage, iuvw, value ) outImage[uint3( iuvw )] = value.x
17 | #define OGRE_imageWrite2DArray4( outImage, iuvw, value ) outImage[uint3( iuvw )] = value
18 |
19 | #define __sharedOnlyBarrier GroupMemoryBarrierWithGroupSync()
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Common/Metal/RenderDepthOnly_piece_ps.metal:
--------------------------------------------------------------------------------
1 |
2 | @property( !hlms_render_depth_only || (hlms_shadowcaster && (exponential_shadow_maps || hlms_shadowcaster_point)) )
3 | @piece( output_type )PS_OUTPUT@end
4 | @end @property( !(!hlms_render_depth_only || (hlms_shadowcaster && (exponential_shadow_maps || hlms_shadowcaster_point))) )
5 | @piece( output_type )void@end
6 | @end
7 |
8 | @property( hlms_render_depth_only && !alpha_test && !hlms_shadows_esm )
9 | @set( hlms_disable_stage, 1 )
10 | @end
11 |
12 | @piece( DeclOutputType )
13 | struct PS_OUTPUT
14 | {
15 | @property( !hlms_shadowcaster )
16 | float4 colour0 [[ color(@counter(rtv_target)) ]];
17 | @else
18 | @property( !hlms_render_depth_only )
19 | float colour0 [[ color(@counter(rtv_target)) ]];
20 | @end
21 | @property( hlms_render_depth_only )
22 | float colour0 [[ depth(any) ]];
23 | @end
24 | @end
25 |
26 | @insertpiece( ExtraOutputTypes )
27 | };
28 | @end
29 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Gz/Pbs/500.GzPbsStructs_piece_all.any:
--------------------------------------------------------------------------------
1 | // This file interfaces all modular pieces into one
2 |
3 | // Order in custom_passBuffer MUST be the same as they're added to
4 | // GzHlmsPbs::customizations
5 | @piece( custom_passBuffer )
6 | @insertpiece( custom_passBuffer_spherical_clip_min_distance )
7 | @insertpiece( custom_passBuffer_terra )
8 | @end
9 |
10 | @piece( custom_VStoPS )
11 | @insertpiece( custom_VStoPS_solid_color )
12 | @insertpiece( custom_VStoPS_terra )
13 | @end
14 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Gz/Pbs/800.GzPbsCode_piece_ps.any:
--------------------------------------------------------------------------------
1 | // This file interfaces all modular pieces into one
2 |
3 | @piece( custom_ps_posExecution )
4 | @insertpiece( custom_ps_posExecution_solid_color )
5 | @end
6 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Gz/Pbs/800.GzPbsCode_piece_vs.any:
--------------------------------------------------------------------------------
1 | // This file interfaces all modular pieces into one
2 |
3 | @piece( custom_vs_uniformDeclaration )
4 | @insertpiece( custom_vs_uniformDeclaration_solid_color )
5 | @insertpiece( custom_vs_uniformDeclaration_terra )
6 | @end
7 |
8 | @piece( custom_vs_posExecution )
9 | @insertpiece( custom_vs_posExecution_solid_color )
10 | @insertpiece( custom_vs_posExecution_spherical_clip_min_distance )
11 | @insertpiece( custom_vs_posExecution_terra )
12 | @end
13 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Gz/SolidColor/500.GzSolidColorStructs_piece_all.any:
--------------------------------------------------------------------------------
1 | // Used by SegmentedCamera & SelectionBuffer
2 | @property( gz_render_solid_color )
3 |
4 | @piece( custom_VStoPS_solid_color )
5 | FLAT_INTERPOLANT( float4 gzSolidColour, @counter(texcoord) );
6 | @end
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Gz/SolidColor/800.GzSolidColor_piece_ps.any:
--------------------------------------------------------------------------------
1 | @property( gz_render_solid_color )
2 |
3 | @piece( custom_ps_posExecution_solid_color )
4 |
5 | @property( gz_render_solid_color_textured )
6 | if( inPs.gzSolidColour.w >= 0.0f )
7 | {
8 | outPs_colour0 = inPs.gzSolidColour;
9 | }
10 | else
11 | {
12 | @property( diffuse_map )
13 | float4 diffuse = SampleDiffuse( textureMaps@value( diffuse_map_idx ),
14 | samplerState@value(diffuse_map_sampler),
15 | UV_DIFFUSE( inPs.uv@value(uv_diffuse).xy ),
16 | texIndex_diffuseIdx );
17 | outPs_colour0 = float4( inPs.gzSolidColour.xyz,
18 | -inPs.gzSolidColour.w - 0.5f ) * diffuse;
19 | @else
20 | outPs_colour0 = float4( inPs.gzSolidColour.xyz,
21 | -inPs.gzSolidColour.w - 0.5f );
22 | @end
23 | }
24 | @else
25 | outPs_colour0 = inPs.gzSolidColour;
26 | @end
27 | @end
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Gz/SolidColor/800.GzSolidColor_piece_vs.any:
--------------------------------------------------------------------------------
1 | @property( gz_render_solid_color )
2 |
3 | @property( syntax != metal )
4 | @piece( custom_vs_uniformDeclaration_solid_color )
5 | // Uniforms that change per Item/Entity
6 | CONST_BUFFER( GzPerObjectData, @value(GzPerObjectDataSlot) )
7 | {
8 | @property( fast_shader_build_hack )
9 | float4 gzPerObjectData[2];
10 | @else
11 | float4 gzPerObjectData[4096];
12 | @end
13 | };
14 | @end
15 | @else
16 | @piece( custom_vs_uniformDeclaration_solid_color )
17 | , constant float4 *gzPerObjectData [[buffer(CONST_SLOT_START+@value(GzPerObjectDataSlot))]]
18 | @end
19 | @end
20 |
21 | @piece( custom_vs_posExecution_solid_color )
22 | outVs.gzSolidColour = gzPerObjectData[inVs_drawId];
23 | @end
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Gz/SphericalClipMinDistance/GzSphericalClipMinDistance_piece_vs.any:
--------------------------------------------------------------------------------
1 | @property( gz_spherical_clip_min_distance )
2 | @piece( custom_vs_posExecution_spherical_clip_min_distance )
3 | @property( gz_spherical_clip_needs_worldPos )
4 | // Unlit didn't declare this
5 | float3 worldPos = (gl_Position * passBuf.invViewProj).xyz;
6 | @end
7 |
8 | // Ogre 2.2 should use outVs_clipDistanceN for compatibility with all
9 | // APIs
10 | // Rare case of geometry without normals.
11 | outVs_clipDistance@value(gz_spherical_clip_idx) =
12 | distance( worldPos.xyz, passBuf.gzCameraPos.xyz ) -
13 | passBuf.gzMinClipDistance;
14 | @end
15 | @end
16 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Gz/SphericalClipMinDistance/SphericalClipMinDistanceStructs_piece_all.any:
--------------------------------------------------------------------------------
1 | @property( gz_spherical_clip_min_distance )
2 | @piece( custom_passBuffer_spherical_clip_min_distance )
3 | #define gzMinClipDistance gzMinClipDistance_gzCameraPos.x
4 | #define gzCameraPos gzMinClipDistance_gzCameraPos.yzw
5 | float4 gzMinClipDistance_gzCameraPos;
6 |
7 | @property( gz_spherical_clip_needs_worldPos )
8 | float4x4 invViewProj;
9 | @end
10 | @end
11 | @end
12 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/Any/IrradianceField_piece_all.any:
--------------------------------------------------------------------------------
1 | #include "/media/matias/Datos/SyntaxHighlightingMisc.h"
2 |
3 | @property( irradiance_field )
4 |
5 | @piece( DeclIrradianceFieldStruct )
6 | struct IrradianceField
7 | {
8 | float4 viewToIrradianceFieldRow0;
9 | float4 viewToIrradianceFieldRow1;
10 | float4 viewToIrradianceFieldRow2;
11 |
12 | float2 numProbesAggregated;
13 | float padding0;
14 | float padding1;
15 |
16 | float depthBorderedRes;
17 | float depthFullWidth;
18 | float2 depthInvFullResolution;
19 |
20 | float irradBorderedRes;
21 | float irradFullWidth;
22 | float2 irradInvFullResolution;
23 | };
24 | @end
25 |
26 | @piece( DeclIrradianceFieldUniform )
27 | IrradianceField irradianceField;
28 | @end
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/Any/Main/200.DetailMaps_piece_ps.any:
--------------------------------------------------------------------------------
1 | // detail_maps_diffuse & detail_maps_normal are either 0 or 4
2 |
3 | @pmax( NumDetailMaps, detail_maps_diffuse, detail_maps_normal )
4 | @foreach( NumDetailMaps, n )
5 | @property( detail_offsets@n )
6 | @piece( offsetDetail@n ) * material.detailOffsetScale[@n].zw + material.detailOffsetScale[@n].xy@end
7 | @end
8 | @end
9 |
10 | @piece( detail_swizzle0 )x@end;
11 | @piece( detail_swizzle1 )y@end;
12 | @piece( detail_swizzle2 )z@end;
13 | @piece( detail_swizzle3 )w@end;
14 |
15 | /*
16 | Down below we perform:
17 | if( detail_maps_normal )
18 | second_valid_detail_map_nm = first_valid_detail_map_nm + 1;
19 | else
20 | second_valid_detail_map_nm = 0;
21 | */
22 | @property( detail_maps_normal )
23 | @add( second_valid_detail_map_nm, first_valid_detail_map_nm, 1 )
24 | @end @property( !detail_maps_normal )
25 | @set( second_valid_detail_map_nm, 0 )
26 | @end
27 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/Any/PlanarReflections_piece_all.any:
--------------------------------------------------------------------------------
1 |
2 | //#include "SyntaxHighlightingMisc.h"
3 |
4 | @property( has_planar_reflections )
5 |
6 | @piece( DeclPlanarReflUniforms )
7 | float4 planarReflections[@value(has_planar_reflections)];
8 | float4x4 planarReflProjectionMat;
9 | float4 invMaxDistanceToPlanarRefl;
10 | @end
11 |
12 | @end ///has_planar_reflections
13 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/Any/ShadowMapping_piece_all.any:
--------------------------------------------------------------------------------
1 |
2 | //#include "SyntaxHighlightingMisc.h"
3 |
4 | @property( !hlms_shadowcaster )
5 | @piece( DeclNormalOffsetBiasFunc )
6 | @foreach( 2, m )
7 | // Perform normal offset bias. See https://github.com/OGRECave/ogre-next/issues/100
8 | INLINE float3 getNormalOffsetBias( float3 worldNormal, float3 viewSpaceNormal,
9 | float3 lightDir, float shadowMapTexSize,
10 | float depthRange, float normalOffsetBias
11 | @property( @m == 0 )
12 | )
13 | @else
14 | , float2 minUV, float2 maxUV )
15 | @end
16 | {
17 | float tmpNdotL = saturate( dot( lightDir.xyz, viewSpaceNormal.xyz ) );
18 |
19 | @property( @m == 1 )
20 | shadowMapTexSize /= maxUV.x - minUV.x;
21 | @end
22 |
23 | return ( ( 1.0f - tmpNdotL ) * normalOffsetBias * worldNormal.xyz * shadowMapTexSize );
24 | }
25 | @end
26 | @end
27 | @end
28 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/Any/UvModifierMacros_piece_ps.any:
--------------------------------------------------------------------------------
1 | @piece( DeclareUvModifierMacros )
2 | #define UV_DIFFUSE(x) (x)
3 | #define UV_NORMAL(x) (x)
4 | #define UV_SPECULAR(x) (x)
5 | #define UV_ROUGHNESS(x) (x)
6 | #define UV_DETAIL_WEIGHT(x) (x)
7 | #define UV_DETAIL0(x) (x)
8 | #define UV_DETAIL1(x) (x)
9 | #define UV_DETAIL2(x) (x)
10 | #define UV_DETAIL3(x) (x)
11 | #define UV_DETAIL_NM0(x) (x)
12 | #define UV_DETAIL_NM1(x) (x)
13 | #define UV_DETAIL_NM2(x) (x)
14 | #define UV_DETAIL_NM3(x) (x)
15 | #define UV_EMISSIVE(x) (x)
16 | @insertpiece( custom_ps_uv_modifier_macros )
17 | @end
18 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/Any/Vct_piece_all.any:
--------------------------------------------------------------------------------
1 |
2 | @property( vct_num_probes )
3 |
4 | @piece( DeclVctStruct )
5 | struct VctProbeParams
6 | {
7 | // .xyz vctResolution
8 | // .w = cascadeMaxLod
9 | float4 vctInvResolution_cascadeMaxLod[@value( vct_num_probes )];
10 | @property( vct_num_probes > 1 )
11 | // fromPreviousProbeToNext[probeIdx-1][0].w = cascadeFinalMultiplier
12 | // fromPreviousProbeToNext[probeIdx-1][1].w = invNumLods
13 | float4 fromPreviousProbeToNext[@value( vct_num_probes ) - 1][2];
14 | @end
15 |
16 | float specSdfMaxMip;
17 | float specularSdfFactor;
18 | float blendFade;
19 | float multiplier;
20 |
21 | float4 ambientUpperHemi; // .w is padding
22 | float4 ambientLowerHemi; // .w is padding
23 |
24 | float4 xform_row0;
25 | float4 xform_row1;
26 | float4 xform_row2;
27 |
28 | float4 invXform_row0;
29 | float4 invXform_row1;
30 | float4 invXform_row2;
31 | };
32 | @end
33 | @piece( DeclVctUniform )
34 | VctProbeParams vctProbeParams;
35 | @end
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/GLSL/Forward3D_piece_ps.glsl:
--------------------------------------------------------------------------------
1 | @property( hlms_forwardplus )
2 |
3 | @property( hlms_enable_decals )
4 | @piece( DeclDecalsSamplers )
5 | @property( syntax == glslvk )
6 | layout( ogre_s@value(decalsSampler) ) uniform sampler decalsSampler;
7 | @end
8 | @property( hlms_decals_diffuse )vulkan_layout( ogre_t@value(decalsDiffuseTex) ) uniform texture2DArray decalsDiffuseTex;@end
9 | @property( hlms_decals_normals )vulkan_layout( ogre_t@value(decalsNormalsTex) ) uniform texture2DArray decalsNormalsTex;@end
10 | @property( hlms_decals_diffuse == hlms_decals_emissive )
11 | #define decalsEmissiveTex decalsDiffuseTex
12 | @end
13 | @property( hlms_decals_emissive && hlms_decals_diffuse != hlms_decals_emissive )
14 | vulkan_layout( ogre_t@value(decalsEmissiveTex) ) uniform texture2DArray decalsEmissiveTex;
15 | @end
16 | @end
17 | @end
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/GLSLES/DetailMaps_piece_ps.glsl:
--------------------------------------------------------------------------------
1 | // detail_maps_diffuse & detail_maps_normal are either 0 or 4
2 |
3 | @pmax( NumDetailMaps, detail_maps_diffuse, detail_maps_normal )
4 | @foreach( NumDetailMaps, n )
5 | @property( detail_offsets@n )
6 | @piece( offsetDetail@n ) * material.detailOffsetScale[@n].zw + material.detailOffsetScale[@n].xy@end
7 | @end
8 | @end
9 |
10 | @piece( detail_swizzle0 )x@end;
11 | @piece( detail_swizzle1 )y@end;
12 | @piece( detail_swizzle2 )z@end;
13 | @piece( detail_swizzle3 )w@end;
14 |
15 | /*
16 | Down below we perform:
17 | if( detail_maps_normal )
18 | second_valid_detail_map_nm = first_valid_detail_map_nm + 1;
19 | else
20 | second_valid_detail_map_nm = 0;
21 | */
22 | @property( detail_maps_normal )
23 | @add( second_valid_detail_map_nm, first_valid_detail_map_nm, 1 )
24 | @end @property( !detail_maps_normal )
25 | @set( second_valid_detail_map_nm, 0 )
26 | @end
27 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/HLSL/Forward3D_piece_ps.hlsl:
--------------------------------------------------------------------------------
1 | @property( hlms_forwardplus )
2 |
3 | @property( hlms_enable_decals )
4 | @piece( DeclDecalsSamplers )
5 | SamplerState decalsSampler : register(s@value(decalsSampler));
6 | @property( hlms_decals_diffuse )Texture2DArray decalsDiffuseTex : register(t@value(decalsDiffuseTex));@end
7 | @property( hlms_decals_normals )Texture2DArray decalsNormalsTex : register(t@value(decalsNormalsTex));@end
8 | @property( hlms_decals_diffuse == hlms_decals_emissive )
9 | #define decalsEmissiveTex decalsDiffuseTex
10 | @end
11 | @property( hlms_decals_emissive && hlms_decals_diffuse != hlms_decals_emissive )
12 | Texture2DArray decalsEmissiveTex : register(t@value(decalsEmissiveTex));
13 | @end
14 | @end
15 | @end
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/HLSL/Textures_piece_ps.hlsl:
--------------------------------------------------------------------------------
1 |
2 | @property( !hlms_render_depth_only && !hlms_shadowcaster )
3 | @piece( ExtraOutputTypes )
4 | @property( hlms_gen_normals_gbuffer )
5 | float4 normals : SV_Target@counter(rtv_target);
6 | @end
7 | @property( hlms_prepass )
8 | float2 shadowRoughness : SV_Target@counter(rtv_target);
9 | @end
10 | @end
11 | @end
12 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/Metal/Forward3D_piece_ps.metal:
--------------------------------------------------------------------------------
1 | @property( hlms_forwardplus )
2 |
3 | @property( hlms_enable_decals )
4 | @piece( DeclDecalsSamplers )
5 | , sampler decalsSampler [[sampler(@value(decalsSampler))]]
6 | @property( hlms_decals_diffuse ), texture2d_array decalsDiffuseTex [[texture(@value(decalsDiffuseTex))]]@end
7 | @property( hlms_decals_normals ), texture2d_array decalsNormalsTex [[texture(@value(decalsNormalsTex))]]@end
8 | @property( hlms_decals_diffuse == hlms_decals_emissive )
9 | #define decalsEmissiveTex decalsDiffuseTex
10 | @end
11 | @property( hlms_decals_emissive && hlms_decals_diffuse != hlms_decals_emissive )
12 | , texture2d_array decalsEmissiveTex [[texture(@value(decalsEmissiveTex))]]
13 | @end
14 | @end
15 | @end
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Pbs/Metal/Textures_piece_ps.metal:
--------------------------------------------------------------------------------
1 |
2 | @property( !hlms_render_depth_only && !hlms_shadowcaster )
3 | @piece( ExtraOutputTypes )
4 | @property( hlms_gen_normals_gbuffer )
5 | float4 normals [[ color(@counter(rtv_target)) ]];
6 | @end
7 | @property( hlms_prepass )
8 | float2 shadowRoughness [[ color(@counter(rtv_target)) ]];
9 | @end
10 | @end
11 | @end
12 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Terra/Any/200.Textures_piece_ps.any:
--------------------------------------------------------------------------------
1 |
2 | //#include "SyntaxHighlightingMisc.h"
3 |
4 | @padd( roughness_map0_sampler, samplerStateStart )
5 | @padd( roughness_map1_sampler, samplerStateStart )
6 | @padd( roughness_map2_sampler, samplerStateStart )
7 | @padd( roughness_map3_sampler, samplerStateStart )
8 |
9 | @padd( metalness_map0_sampler, samplerStateStart )
10 | @padd( metalness_map1_sampler, samplerStateStart )
11 | @padd( metalness_map2_sampler, samplerStateStart )
12 | @padd( metalness_map3_sampler, samplerStateStart )
13 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Terra/gz/100.gz_CustomVs_piece_vs.any:
--------------------------------------------------------------------------------
1 |
2 | @piece( custom_vs_posExecution_terra )
3 | outVs.localHeight = worldPos.z - cellData.pos.y;
4 | @end
5 |
--------------------------------------------------------------------------------
/ogre2/src/media/Hlms/Terra/gz/500.gz_Structs_piece_all.any:
--------------------------------------------------------------------------------
1 |
2 | #include "/media/matias/Datos/SyntaxHighlightingMisc.h"
3 |
4 | @piece( custom_materialBuffer )
5 | float4 ignWeightsMinHeight;
6 | float4 ignWeightsMaxHeight;
7 | @end
8 |
9 | @piece( custom_VStoPS_terra )
10 | INTERPOLANT( float localHeight, @counter(texcoord) );
11 |
12 | // added to prevent crash when decals are in the scene
13 | INTERPOLANT( float3 normal, @counter(texcoord) );
14 | @end
15 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/AabbWorldSpace_cs.glsl:
--------------------------------------------------------------------------------
1 | @insertpiece( SetCrossPlatformSettings )
2 |
3 | @insertpiece( PreBindingsHeaderCS )
4 |
5 | @property( syntax == glsl )
6 | #define ogre_U0 binding = 0
7 | @end
8 |
9 | layout( std430, ogre_U0 ) restrict buffer instanceBufferLayout
10 | {
11 | InstanceBuffer instanceBuffer[];
12 | };
13 |
14 | layout( local_size_x = @value( threads_per_group_x ),
15 | local_size_y = @value( threads_per_group_y ),
16 | local_size_z = @value( threads_per_group_z ) ) in;
17 |
18 | @property( syntax == glsl )
19 | ReadOnlyBufferF( 1, AabbBuffer, inMeshAabb );
20 | @else
21 | ReadOnlyBufferF( 0, AabbBuffer, inMeshAabb );
22 | @end
23 |
24 | @insertpiece( HeaderCS )
25 |
26 | //in uvec3 gl_NumWorkGroups;
27 | //in uvec3 gl_WorkGroupID;
28 | //in uvec3 gl_LocalInvocationID;
29 | //in uvec3 gl_GlobalInvocationID;
30 | //in uint gl_LocalInvocationIndex;
31 |
32 | void main()
33 | {
34 | @insertpiece( BodyCS )
35 | }
36 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/AabbWorldSpace_cs.hlsl:
--------------------------------------------------------------------------------
1 | @insertpiece( SetCrossPlatformSettings )
2 |
3 | @insertpiece( PreBindingsHeaderCS )
4 |
5 | RWStructuredBuffer instanceBuffer : register(u0);
6 |
7 | StructuredBuffer inMeshAabb : register(t0);
8 |
9 | @insertpiece( HeaderCS )
10 |
11 | //in uvec3 gl_NumWorkGroups;
12 | //in uvec3 gl_WorkGroupID;
13 | //in uvec3 gl_LocalInvocationID;
14 | //in uvec3 gl_GlobalInvocationID;
15 | //in uint gl_LocalInvocationIndex;
16 |
17 | [numthreads(@value( threads_per_group_x ), @value( threads_per_group_y ), @value( threads_per_group_z ))]
18 | void main
19 | (
20 | uint3 gl_GlobalInvocationID : SV_DispatchThreadId
21 | )
22 | {
23 | @insertpiece( BodyCS )
24 | }
25 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/AabbWorldSpace_cs.metal:
--------------------------------------------------------------------------------
1 | @insertpiece( SetCrossPlatformSettings )
2 |
3 | #define PARAMS_ARG_DECL , device InstanceBuffer *instanceBuffer, device AabbBuffer *inMeshAabb
4 | #define PARAMS_ARG , instanceBuffer, inMeshAabb
5 |
6 | @insertpiece( PreBindingsHeaderCS )
7 |
8 | @insertpiece( HeaderCS )
9 |
10 | //in uvec3 gl_NumWorkGroups;
11 | //in uvec3 gl_WorkGroupID;
12 | //in uvec3 gl_LocalInvocationID;
13 | //in uvec3 gl_GlobalInvocationID;
14 | //in uint gl_LocalInvocationIndex;
15 |
16 | kernel void main_metal
17 | (
18 | device InstanceBuffer *instanceBuffer [[buffer(UAV_SLOT_START+0)]],
19 |
20 | device AabbBuffer *inMeshAabb [[buffer(TEX_SLOT_START+0)]],
21 |
22 | ushort3 gl_GlobalInvocationID [[thread_position_in_grid]]
23 | )
24 | {
25 | @insertpiece( BodyCS )
26 | }
27 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/AnisotropicMipVctStep0_cs.hlsl:
--------------------------------------------------------------------------------
1 | @insertpiece( SetCrossPlatformSettings )
2 |
3 | #define OGRE_imageWrite3D4( outImage, iuv, value ) outImage[uint3( iuv )] = value
4 |
5 | Texture3D inLightLowerMip : register(t0);
6 | Texture3D inVoxelNormalTex : register(t1);
7 | RWTexture3D<@insertpiece(uav0_pf_type)> outLightHigherMip0 : register(u0);
8 | RWTexture3D<@insertpiece(uav1_pf_type)> outLightHigherMip1 : register(u1);
9 | RWTexture3D<@insertpiece(uav2_pf_type)> outLightHigherMip2 : register(u2);
10 |
11 | @insertpiece( HeaderCS )
12 |
13 | uniform int higherMipHalfWidth;
14 |
15 | #define p_higherMipHalfWidth higherMipHalfWidth
16 |
17 | [numthreads(@value( threads_per_group_x ), @value( threads_per_group_y ), @value( threads_per_group_z ))]
18 | void main( uint3 gl_GlobalInvocationID : SV_DispatchThreadId )
19 | {
20 | @insertpiece( BodyCS )
21 | }
22 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/AnisotropicMipVctStep0_cs.metal:
--------------------------------------------------------------------------------
1 | @insertpiece( SetCrossPlatformSettings )
2 |
3 | #define OGRE_imageWrite3D4( outImage, iuv, value ) outImage.write( value, iuv )
4 |
5 | @insertpiece( HeaderCS )
6 |
7 | #define p_higherMipHalfWidth higherMipHalfWidth
8 |
9 | kernel void main_metal
10 | (
11 | texture3d inLightLowerMip [[texture(0)]],
12 | texture3d inVoxelNormalTex [[texture(1)]],
13 | texture3d<@insertpiece(uav0_pf_type), access::write> outLightHigherMip0 [[texture(UAV_SLOT_START+0)]],
14 | texture3d<@insertpiece(uav1_pf_type), access::write> outLightHigherMip1 [[texture(UAV_SLOT_START+1)]],
15 | texture3d<@insertpiece(uav2_pf_type), access::write> outLightHigherMip2 [[texture(UAV_SLOT_START+2)]],
16 |
17 | constant int &higherMipHalfWidth [[buffer(PARAMETER_SLOT)]],
18 |
19 | ushort3 gl_GlobalInvocationID [[thread_position_in_grid]]
20 | )
21 | {
22 | @insertpiece( BodyCS )
23 | }
24 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/AnisotropicMipVctStep1_cs.hlsl:
--------------------------------------------------------------------------------
1 | @insertpiece( SetCrossPlatformSettings )
2 |
3 | #define OGRE_imageWrite3D4( outImage, iuv, value ) outImage[uint3( iuv )] = value
4 |
5 | Texture3D inLightLowerMip0 : register(t0);
6 | Texture3D inLightLowerMip1 : register(t1);
7 | Texture3D inLightLowerMip2 : register(t2);
8 |
9 | RWTexture3D<@insertpiece(uav0_pf_type)> outLightHigherMip0 : register(u0);
10 | RWTexture3D<@insertpiece(uav1_pf_type)> outLightHigherMip1 : register(u1);
11 | RWTexture3D<@insertpiece(uav2_pf_type)> outLightHigherMip2 : register(u2);
12 |
13 | uniform int4 higherMipHalfRes_lowerMipHalfWidth;
14 |
15 | #define p_higherMipHalfRes higherMipHalfRes_lowerMipHalfWidth.xyz
16 | #define p_lowerMipHalfWidth higherMipHalfRes_lowerMipHalfWidth.w
17 |
18 | @insertpiece( HeaderCS )
19 |
20 | [numthreads(@value( threads_per_group_x ), @value( threads_per_group_y ), @value( threads_per_group_z ))]
21 | void main( uint3 gl_GlobalInvocationID : SV_DispatchThreadId )
22 | {
23 | @insertpiece( BodyCS )
24 | }
25 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/VctTexDownsample.compositor:
--------------------------------------------------------------------------------
1 |
2 | compositor_node VctTexDownsampleNode
3 | {
4 | in 0 downsampleTex
5 |
6 | target downsampleTex
7 | {
8 | pass render_quad
9 | {
10 | execution_mask 0x01
11 |
12 | load
13 | {
14 | all dont_care
15 | }
16 | store
17 | {
18 | //We only care about the contents of the colour target
19 | depth dont_care
20 | stencil dont_care
21 | }
22 |
23 | material Ogre/Copy/4xFP32_2DArray
24 | }
25 |
26 | pass render_quad
27 | {
28 | execution_mask 0x02
29 |
30 | load
31 | {
32 | all dont_care
33 | }
34 | store
35 | {
36 | //We only care about the contents of the colour target
37 | depth dont_care
38 | stencil dont_care
39 | }
40 |
41 | material Ogre/Copy/4xFP32
42 | }
43 | }
44 | }
45 |
46 | workspace VctTexDownsampleWorkspace
47 | {
48 | connect_output VctTexDownsampleNode 0
49 | }
50 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/Visualizer/VoxelVisualizer_ps.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | vulkan_layout( location = 0 )
4 | in block
5 | {
6 | flat vec4 voxelColour;
7 | } inPs;
8 |
9 | layout(location = 0, index = 0) out vec4 outColour;
10 |
11 | void main()
12 | {
13 | outColour.xyzw = inPs.voxelColour.xyzw;
14 | }
15 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/Visualizer/VoxelVisualizer_ps.hlsl:
--------------------------------------------------------------------------------
1 |
2 | struct PS_INPUT
3 | {
4 | nointerpolation float4 voxelColour : TEXCOORD0;
5 | };
6 |
7 | float4 main( PS_INPUT inPs ) : SV_Target
8 | {
9 | return inPs.voxelColour;
10 | }
11 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/Visualizer/VoxelVisualizer_ps.metal:
--------------------------------------------------------------------------------
1 |
2 | #include
3 | using namespace metal;
4 |
5 | struct PS_INPUT
6 | {
7 | float4 voxelColour [[flat]];
8 | };
9 |
10 | fragment float4 main_metal
11 | (
12 | PS_INPUT inPs [[stage_in]]
13 | )
14 | {
15 | return inPs.voxelColour;
16 | }
17 |
--------------------------------------------------------------------------------
/ogre2/src/media/VCT/Visualizer/VoxelVisualizer_vs.hlsl:
--------------------------------------------------------------------------------
1 |
2 | #define INLINE
3 |
4 | #define OGRE_Load3D( tex, iuv, lod ) tex.Load( int4( iuv, lod ) )
5 |
6 | #define inVs_vertexId input.vertexId
7 | #define outVs_Position outVs.gl_Position
8 |
9 | Texture3D voxelTex : register(t0);
10 | #ifdef SEPARATE_OPACITY
11 | uniform Texture3D otherTex : register(t1);
12 | #endif
13 |
14 | uniform float4x4 worldViewProjMatrix;
15 | uniform uint vertexBase;
16 | uniform uint3 voxelResolution;
17 |
18 | #define p_worldViewProjMatrix worldViewProjMatrix
19 | #define p_vertexBase vertexBase
20 | #define p_voxelResolution voxelResolution
21 |
22 | struct VS_INPUT
23 | {
24 | uint vertexId : SV_VertexID;
25 | };
26 |
27 | struct PS_INPUT
28 | {
29 | nointerpolation float4 voxelColour : TEXCOORD0;
30 |
31 | float4 gl_Position : SV_Position;
32 | };
33 |
34 | #define HEADER
35 | #include "VoxelVisualizer_vs.any"
36 | #undef HEADER
37 |
38 | PS_INPUT main( VS_INPUT input )
39 | {
40 | PS_INPUT outVs;
41 | #include "VoxelVisualizer_vs.any"
42 |
43 | return outVs;
44 | }
45 |
--------------------------------------------------------------------------------
/ogre2/src/media/materials/programs/GLSL/plain_color_fs.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 |
19 | #version ogre_glsl_ver_330
20 |
21 | vulkan( layout( ogre_P0 ) uniform Params { )
22 | uniform vec4 inColor;
23 | vulkan( }; )
24 |
25 | vulkan_layout( location = 0 )
26 | out vec4 fragColor;
27 |
28 | void main()
29 | {
30 | fragColor = inColor;
31 | }
32 |
--------------------------------------------------------------------------------
/ogre2/src/media/materials/programs/GLSL/point_fs.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2021 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #version ogre_glsl_ver_330
19 |
20 | vulkan_layout( location = 0 )
21 | in block
22 | {
23 | vec3 ptColor;
24 | } inPs;
25 |
26 | vulkan_layout( location = 0 )
27 | out vec4 fragColor;
28 |
29 | void main()
30 | {
31 | fragColor = vec4(inPs.ptColor.x, inPs.ptColor.y, inPs.ptColor.z, 1);
32 | }
33 |
--------------------------------------------------------------------------------
/ogre2/src/media/materials/programs/Metal/skybox_fs.metal:
--------------------------------------------------------------------------------
1 | // The code in this file is adapted from OGRE Samples. The OGRE's license and
2 | // copyright header is included in skybox.material.
3 | // See: ogre-next/Samples/2.0/scripts/materials/Common/Metal/SkyCubemap_ps.metal
4 |
5 | #include
6 | using namespace metal;
7 |
8 | struct PS_INPUT
9 | {
10 | float3 cameraDir;
11 | };
12 |
13 | fragment float4 main_metal
14 | (
15 | PS_INPUT inPs [[stage_in]],
16 | texturecube skyCubemap [[texture(0)]],
17 | sampler samplerState [[sampler(0)]]
18 | )
19 | {
20 | //Cubemaps are left-handed
21 | return skyCubemap.sample( samplerState, float3( inPs.cameraDir.xy, -inPs.cameraDir.z ) ).xyzw;
22 | }
23 |
--------------------------------------------------------------------------------
/ogre2/src/media/materials/scripts/lens_flare.compositor:
--------------------------------------------------------------------------------
1 | compositor_node LensFlareNode
2 | {
3 | in 0 rt_input
4 | in 1 rt_output
5 |
6 | target rt_output
7 | {
8 | pass render_quad
9 | {
10 | // No clear since this pass overwrites all content
11 | load
12 | {
13 | all dont_care
14 | }
15 | store
16 | {
17 | depth dont_care
18 | stencil dont_care
19 | }
20 |
21 | profiling_id "LensFlare Effect"
22 |
23 | // kLensFlareNodePassQuad
24 | identifier 98744413
25 |
26 | material LensFlare
27 |
28 | input 0 rt_input
29 | }
30 | }
31 |
32 | out 0 rt_output
33 | out 1 rt_input
34 | }
35 |
--------------------------------------------------------------------------------
/ogre2/src/media/materials/scripts/picker.material:
--------------------------------------------------------------------------------
1 |
2 | material gz-rendering/plain_color
3 | {
4 | // Material has one technique
5 | technique
6 | {
7 | // This technique has one pass
8 | pass
9 | {
10 | fog_override true
11 |
12 | // Make this pass use the vertex shader defined above
13 | vertex_program_ref plaincolor_vs
14 | {
15 | }
16 |
17 | // Make this pass use the pixel shader defined above
18 | fragment_program_ref plaincolor_fs
19 | {
20 | param_named_auto inColor custom 1
21 | }
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/ogre2/src/media/materials/textures/skybox.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/ogre2/src/media/materials/textures/skybox.dds
--------------------------------------------------------------------------------
/optix/include/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(gz)
2 |
--------------------------------------------------------------------------------
/optix/include/gz/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(rendering)
2 |
--------------------------------------------------------------------------------
/optix/include/gz/rendering/optix/OptixIncludes.hh:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #ifndef GZ_RENDERING_OPTIX_OPTIXINCLUDES_HH_
18 | #define GZ_RENDERING_OPTIX_OPTIXINCLUDES_HH_
19 |
20 | // #include
21 | #include
22 |
23 | #endif
24 |
--------------------------------------------------------------------------------
/optix/include/gz/rendering/optix/optix.hh.in:
--------------------------------------------------------------------------------
1 | // Automatically generated
2 | #include
3 | ${gz_headers}
4 |
--------------------------------------------------------------------------------
/optix/src/OptixArrowVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/optix/OptixArrowVisual.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | OptixArrowVisual::OptixArrowVisual()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | OptixArrowVisual::~OptixArrowVisual()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/optix/src/OptixAxisVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/optix/OptixAxisVisual.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | OptixAxisVisual::OptixAxisVisual()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | OptixAxisVisual::~OptixAxisVisual()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/optix/src/OptixErrorProgram.cu:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include
18 | #include
19 |
20 | rtDeclareVariable(float3, color, , );
21 | rtDeclareVariable(uint2, launchIndex, rtLaunchIndex, );
22 | rtBuffer buffer;
23 |
24 | RT_PROGRAM void Error()
25 | {
26 | buffer[launchIndex] = color;
27 | }
28 |
--------------------------------------------------------------------------------
/optix/src/OptixMissProgram.cu:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include
18 | #include
19 | #include "gz/rendering/optix/OptixRayTypes.hh"
20 |
21 | rtDeclareVariable(float3, color, , );
22 | rtDeclareVariable(OptixRadianceRayData, payload, rtPayload, );
23 |
24 | RT_PROGRAM void Miss()
25 | {
26 | payload.color = color;
27 | }
28 |
--------------------------------------------------------------------------------
/optix/src/OptixSensor.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 | #include "gz/rendering/optix/OptixSensor.hh"
18 |
19 | using namespace gz;
20 | using namespace rendering;
21 |
22 | //////////////////////////////////////////////////
23 | OptixSensor::OptixSensor()
24 | {
25 | }
26 |
27 | //////////////////////////////////////////////////
28 | OptixSensor::~OptixSensor()
29 | {
30 | }
31 |
--------------------------------------------------------------------------------
/src/ArrowVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/ArrowVisual.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | ArrowVisual::~ArrowVisual() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/AxisVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/AxisVisual.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | AxisVisual::~AxisVisual() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/BoundingBoxCamera.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/BoundingBoxCamera.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | BoundingBoxCamera::~BoundingBoxCamera() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/COMVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/COMVisual.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | COMVisual::~COMVisual() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/Camera.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Camera.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Camera::~Camera() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/Capsule.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Capsule.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Capsule::~Capsule() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/CompositeVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/CompositeVisual.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | CompositeVisual::~CompositeVisual() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/DepthCamera.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/DepthCamera.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | DepthCamera::~DepthCamera() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/DistortionPass.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2021 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/DistortionPass.hh"
19 |
20 | using namespace gz;
21 | using namespace rendering;
22 |
23 | //////////////////////////////////////////////////
24 | DistortionPass::DistortionPass() = default;
25 |
26 | //////////////////////////////////////////////////
27 | DistortionPass::~DistortionPass() = default;
28 |
--------------------------------------------------------------------------------
/src/FrustumVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2025 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 |
19 | #include "gz/rendering/FrustumVisual.hh"
20 |
21 | using namespace gz;
22 | using namespace rendering;
23 |
24 | //////////////////////////////////////////////////
25 | FrustumVisual::FrustumVisual() = default;
26 |
27 | //////////////////////////////////////////////////
28 | FrustumVisual::~FrustumVisual() = default;
29 |
--------------------------------------------------------------------------------
/src/GaussianNoisePass.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 |
19 | #include "gz/rendering/GaussianNoisePass.hh"
20 |
21 | using namespace gz;
22 | using namespace rendering;
23 |
24 | //////////////////////////////////////////////////
25 | GaussianNoisePass::GaussianNoisePass() = default;
26 |
27 | //////////////////////////////////////////////////
28 | GaussianNoisePass::~GaussianNoisePass() = default;
29 |
--------------------------------------------------------------------------------
/src/Geometry.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Geometry.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Geometry::~Geometry() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/GizmoVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/GizmoVisual.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | GizmoVisual::~GizmoVisual() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/GpuRays.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/GpuRays.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | GpuRays::~GpuRays() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/Grid.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Grid.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Grid::~Grid() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/InertiaVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/InertiaVisual.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | InertiaVisual::~InertiaVisual() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/JointVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/JointVisual.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | JointVisual::~JointVisual() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/LensFlarePass.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 |
19 | #include "gz/rendering/LensFlarePass.hh"
20 |
21 | using namespace gz;
22 | using namespace rendering;
23 |
24 | //////////////////////////////////////////////////
25 | LensFlarePass::LensFlarePass() = default;
26 |
27 | //////////////////////////////////////////////////
28 | LensFlarePass::~LensFlarePass() = default;
29 |
--------------------------------------------------------------------------------
/src/LidarVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 |
19 | #include "gz/rendering/LidarVisual.hh"
20 |
21 | using namespace gz;
22 | using namespace rendering;
23 |
24 | //////////////////////////////////////////////////
25 | LidarVisual::LidarVisual() = default;
26 |
27 | //////////////////////////////////////////////////
28 | LidarVisual::~LidarVisual() = default;
29 |
--------------------------------------------------------------------------------
/src/Light.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Light.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Light::~Light() = default;
24 |
25 | DirectionalLight::~DirectionalLight() = default;
26 |
27 | PointLight::~PointLight() = default;
28 |
29 | SpotLight::~SpotLight() = default;
30 |
31 | } // namespace gz::rendering
32 |
--------------------------------------------------------------------------------
/src/LightVisual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/LightVisual.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | LightVisual::~LightVisual() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/Marker.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 |
19 | #include "gz/rendering/Marker.hh"
20 |
21 | using namespace gz;
22 | using namespace rendering;
23 |
24 | //////////////////////////////////////////////////
25 | Marker::Marker() = default;
26 |
27 | //////////////////////////////////////////////////
28 | Marker::~Marker() = default;
29 |
--------------------------------------------------------------------------------
/src/Material.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Material.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Material::~Material() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/Mesh.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Mesh.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Mesh::~Mesh() = default;
24 |
25 | SubMesh::~SubMesh() = default;
26 |
27 | } // namespace gz::rendering
28 |
29 |
--------------------------------------------------------------------------------
/src/NativeWindow.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2023 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/NativeWindow.hh"
19 |
20 | using namespace gz;
21 | using namespace rendering;
22 |
23 | //////////////////////////////////////////////////
24 | NativeWindow::NativeWindow() = default;
25 |
26 | //////////////////////////////////////////////////
27 | NativeWindow::~NativeWindow() = default;
28 |
29 |
--------------------------------------------------------------------------------
/src/Node.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Node.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Node::~Node() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/Object.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Object.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Object::~Object() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/ParticleEmitter.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/ParticleEmitter.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | ParticleEmitter::~ParticleEmitter() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/Projector.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2023 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Projector.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Projector::~Projector() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/RayQuery.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/RayQuery.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | RayQuery::~RayQuery() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/RenderEngine.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/RenderEngine.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | RenderEngine::~RenderEngine() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/RenderPass.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/RenderPass.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | RenderPass::~RenderPass() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/RenderTarget.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/RenderTarget.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | RenderTarget::~RenderTarget() = default;
24 |
25 | RenderTexture::~RenderTexture() = default;
26 |
27 | RenderWindow::~RenderWindow() = default;
28 |
29 | } // namespace gz::rendering
30 |
--------------------------------------------------------------------------------
/src/SegmentationCamera.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/SegmentationCamera.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | SegmentationCamera::~SegmentationCamera() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/Sensor.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Sensor.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Sensor::~Sensor() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/Text.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Text.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Text::~Text() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/ThermalCamera.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/ThermalCamera.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | ThermalCamera::~ThermalCamera() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/ViewController.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/ViewController.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | ViewController::~ViewController() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/Visual.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/Visual.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | Visual::~Visual() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/WideAngleCamera.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/WideAngleCamera.hh"
19 |
20 | namespace gz::rendering
21 | {
22 |
23 | WideAngleCamera::~WideAngleCamera() = default;
24 |
25 | } // namespace gz::rendering
26 |
--------------------------------------------------------------------------------
/src/WireBox.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 |
19 | #include "gz/rendering/WireBox.hh"
20 |
21 | using namespace gz;
22 | using namespace rendering;
23 |
24 | //////////////////////////////////////////////////
25 | WireBox::WireBox()
26 | {
27 | }
28 |
29 | //////////////////////////////////////////////////
30 | WireBox::~WireBox()
31 | {
32 | }
33 |
--------------------------------------------------------------------------------
/src/base/BaseNativeWindow.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2023 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include "gz/rendering/base/BaseNativeWindow.hh"
19 |
20 | using namespace gz;
21 | using namespace rendering;
22 |
23 | //////////////////////////////////////////////////
24 | BaseNativeWindow::BaseNativeWindow() = default;
25 |
26 | //////////////////////////////////////////////////
27 | BaseNativeWindow::~BaseNativeWindow() = default;
28 |
29 |
--------------------------------------------------------------------------------
/src/base/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # GLOB all the source files
2 | file(GLOB source_files "*.cc")
3 | list(SORT source_files)
4 |
5 | set(tmp_sources)
6 |
7 | foreach(source_file ${source_files})
8 | get_filename_component(source ${source_file} NAME)
9 | list(APPEND tmp_sources base/${source})
10 | endforeach()
11 |
12 | set (sources ${sources}
13 | ${tmp_sources}
14 | PARENT_SCOPE
15 | )
16 |
17 | add_subdirectory(media)
18 |
19 |
--------------------------------------------------------------------------------
/src/base/media/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(materials)
2 |
--------------------------------------------------------------------------------
/src/base/media/materials/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(textures)
2 |
--------------------------------------------------------------------------------
/src/base/media/materials/textures/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | file(GLOB files "*.png")
2 |
3 | install(FILES ${files} DESTINATION ${GZ_RENDERING_RELATIVE_RESOURCE_PATH}/media/materials/textures)
4 |
5 |
--------------------------------------------------------------------------------
/src/base/media/materials/textures/com.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/src/base/media/materials/textures/com.png
--------------------------------------------------------------------------------
/src/bazel/InstallationDirectories.cc:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2025 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include
19 |
20 | namespace gz
21 | {
22 | namespace rendering
23 | {
24 | inline namespace GZ_RENDERING_VERSION_NAMESPACE {
25 |
26 | // Generate an install prefix specifically for bazel build.
27 | std::string getInstallPrefix()
28 | {
29 | return ".";
30 | }
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/test/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include(gz_rendering_test.cmake)
2 |
3 | add_subdirectory(gtest_vendor)
4 | add_subdirectory(integration)
5 | add_subdirectory(performance)
6 | add_subdirectory(regression)
7 | add_subdirectory(common_test)
8 |
--------------------------------------------------------------------------------
/test/gtest_vendor/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_library(gtest STATIC ${CMAKE_CURRENT_SOURCE_DIR}/src/gtest-all.cc)
2 | add_library(gtest_main STATIC ${CMAKE_CURRENT_SOURCE_DIR}/src/gtest_main.cc)
3 |
4 | target_include_directories(gtest
5 | SYSTEM PUBLIC
6 | ${CMAKE_CURRENT_SOURCE_DIR}/include
7 | PRIVATE
8 | ${CMAKE_CURRENT_SOURCE_DIR}
9 | ${CMAKE_CURRENT_SOURCE_DIR}/src
10 | )
11 | target_link_libraries(gtest_main gtest)
12 |
--------------------------------------------------------------------------------
/test/gtest_vendor/gtest_vendor_version:
--------------------------------------------------------------------------------
1 | commit 9406a60c7839052e4944ea4dbc8344762a89f9bd (HEAD -> main, origin/main, origin/HEAD)
2 | Author: Abseil Team
3 | Date: Mon Jun 27 13:15:39 2022 -0700
4 |
5 | Mark internal-only function as having internal linkage.
6 |
7 | PiperOrigin-RevId: 457550818
8 | Change-Id: I9046801b64ce4581d742d650451332fd56489632
9 |
--------------------------------------------------------------------------------
/test/integration/all_symbols_have_version.bash.in:
--------------------------------------------------------------------------------
1 | # Returns non-zero exit code if there are symbols which don't contain the project major version
2 |
3 | LIBPATH=$1
4 | VERSIONED_NS=v@PROJECT_VERSION_MAJOR@
5 | GZ_PROJECT=@GZ_DESIGNATION@
6 |
7 | # Sanity check - there should be at least one symbol
8 | NUM_SYMBOLS=$(nm $LIBPATH | grep -e "gz.*$GZ_PROJECT" | wc -l)
9 |
10 | if [ $NUM_SYMBOLS -eq 0 ]
11 | then
12 | echo >&2 "ERROR: Did not find any symbols in the project library"
13 | exit 1
14 | fi
15 |
16 | # There must be no unversioned symbols
17 | UNVERSIONED_SYMBOLS=$(nm $LIBPATH | grep -e "gz.*$GZ_PROJECT" | grep -e "$VERSIONED_NS" -v)
18 | UNVERSIONED_SYMBOL_CHARS=$(printf "$UNVERSIONED_SYMBOLS" | wc -m)
19 |
20 | if [ $UNVERSIONED_SYMBOL_CHARS -ne 0 ]
21 | then
22 | echo >&2 "ERROR: Found unversioned symbols:\n$UNVERSIONED_SYMBOLS"
23 | exit 1
24 | fi
25 |
26 | echo "No unversioned symbols found (num versioned symbols:$NUM_SYMBOLS)"
27 | exit 0
28 |
--------------------------------------------------------------------------------
/test/integration/base64.hh:
--------------------------------------------------------------------------------
1 | //
2 | // base64 encoding and decoding with C++.
3 | // Version: 1.01.00
4 | //
5 | // Copyright (C) 2004-2017 René Nyffenegger
6 | //
7 |
8 | #pragma once
9 |
10 | #include
11 | #include
12 |
13 | /// \brief Takes a binary input and outputs a string in base64
14 | /// \param[in] _bytesToEncode binary data to encode
15 | /// \param[in] _len length in bytes of _bytesToEncode
16 | /// \param[out] _outBase64 String with base64-encoded of input
17 | void Base64Encode(const void *_bytesToEncode, size_t _len,
18 | std::string &_outBase64);
19 |
20 | /// \brief Takes a base64-encoded string and turns it back into binary
21 | /// \param _s base64-encoded string
22 | /// \return Decoded binary data
23 | std::vector Base64Decode(const std::string &_s);
24 |
--------------------------------------------------------------------------------
/test/media/heightmap_bowl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/test/media/heightmap_bowl.png
--------------------------------------------------------------------------------
/test/media/materials/programs/simple_color_330_fs.glsl:
--------------------------------------------------------------------------------
1 | #version ogre_glsl_ver_330
2 |
3 | /*
4 | * Copyright (C) 2022 Open Source Robotics Foundation
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | *
18 | */
19 |
20 | vulkan_layout( location = 0 )
21 | out vec4 fragColor;
22 |
23 | void main()
24 | {
25 | fragColor = vec4(1.0, 0.0, 0.0, 1.0);
26 | }
27 |
--------------------------------------------------------------------------------
/test/media/materials/programs/simple_color_fs.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | void main()
19 | {
20 | gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
21 | }
22 |
--------------------------------------------------------------------------------
/test/media/materials/programs/simple_color_fs.metal:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | #include
19 | using namespace metal;
20 |
21 |
22 | fragment float4 main_metal
23 | (
24 | )
25 | {
26 | return float4(1, 0, 0, 1);
27 | }
28 |
--------------------------------------------------------------------------------
/test/media/materials/programs/simple_color_vs.glsl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 Open Source Robotics Foundation
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *
16 | */
17 |
18 | void main()
19 | {
20 | gl_Position = ftransform();
21 | }
22 |
--------------------------------------------------------------------------------
/test/media/materials/textures/blue_texture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/test/media/materials/textures/blue_texture.png
--------------------------------------------------------------------------------
/test/media/materials/textures/flat_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/test/media/materials/textures/flat_normal.png
--------------------------------------------------------------------------------
/test/media/materials/textures/gray_texture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/test/media/materials/textures/gray_texture.png
--------------------------------------------------------------------------------
/test/media/materials/textures/red_texture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/test/media/materials/textures/red_texture.png
--------------------------------------------------------------------------------
/test/media/materials/textures/skybox_lowres.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/test/media/materials/textures/skybox_lowres.dds
--------------------------------------------------------------------------------
/test/media/materials/textures/texture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/test/media/materials/textures/texture.png
--------------------------------------------------------------------------------
/test/media/materials/textures/wave_normals.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/test/media/materials/textures/wave_normals.dds
--------------------------------------------------------------------------------
/test/performance/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(TEST_TYPE "PERFORMANCE")
2 |
3 | set(tests
4 | scene_factory
5 | )
6 |
7 | foreach(test ${tests})
8 | gz_rendering_test(
9 | TYPE ${TEST_TYPE}
10 | SOURCE ${test}
11 | LIB_DEPS
12 | gz-plugin${GZ_PLUGIN_VER}::loader
13 | gz-common${GZ_COMMON_VER}::gz-common${GZ_COMMON_VER}
14 | ${PROJECT_LIBRARY_TARGET_NAME}
15 | )
16 | endforeach()
17 |
--------------------------------------------------------------------------------
/test/regression/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(TEST_TYPE "REGRESSION")
2 |
3 | gz_rendering_test(
4 | TYPE ${TEST_TYPE}
5 | SOURCE reload_engine
6 | LIB_DEPS
7 | gz-plugin${GZ_PLUGIN_VER}::loader
8 | gz-common${GZ_COMMON_VER}::gz-common${GZ_COMMON_VER}
9 | ${PROJECT_LIBRARY_TARGET_NAME}
10 | )
11 |
12 |
--------------------------------------------------------------------------------
/tools/gl-test.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | from OpenGL.GLUT import *
3 | import sys
4 |
5 | glutInit(sys.argv)
6 |
7 | # Select type of Display mode:
8 | # Double buffer
9 | # RGBA color
10 | # Depth buffer
11 | # Alpha blending
12 | glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH | GLUT_ALPHA)
13 |
14 | # get a 640 x 480 window
15 | glutInitWindowSize(640, 480)
16 |
17 | # the window starts at the upper left corner of the screen
18 | glutInitWindowPosition(0, 0)
19 |
20 | # Open a window
21 | window = glutCreateWindow("Testing DRI")
22 |
--------------------------------------------------------------------------------
/tutorials/img/actor_animation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/actor_animation.png
--------------------------------------------------------------------------------
/tutorials/img/boundingbox_camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/boundingbox_camera.png
--------------------------------------------------------------------------------
/tutorials/img/boundingbox_camera_2d_full.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/boundingbox_camera_2d_full.png
--------------------------------------------------------------------------------
/tutorials/img/boundingbox_camera_2d_visible.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/boundingbox_camera_2d_visible.png
--------------------------------------------------------------------------------
/tutorials/img/camera_tracking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/camera_tracking.png
--------------------------------------------------------------------------------
/tutorials/img/custom_scene_viewer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/custom_scene_viewer.png
--------------------------------------------------------------------------------
/tutorials/img/custom_shaders_depth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/custom_shaders_depth.png
--------------------------------------------------------------------------------
/tutorials/img/custom_shaders_rgb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/custom_shaders_rgb.png
--------------------------------------------------------------------------------
/tutorials/img/depth_camera_ogre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/depth_camera_ogre.png
--------------------------------------------------------------------------------
/tutorials/img/gazebo_scene_viewer.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/gazebo_scene_viewer.gif
--------------------------------------------------------------------------------
/tutorials/img/gazebo_scene_viewer2_demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/gazebo_scene_viewer2_demo.gif
--------------------------------------------------------------------------------
/tutorials/img/heightmaps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/heightmaps.png
--------------------------------------------------------------------------------
/tutorials/img/heightmaps_dem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/heightmaps_dem.png
--------------------------------------------------------------------------------
/tutorials/img/lightmap_bake.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/lightmap_bake.jpg
--------------------------------------------------------------------------------
/tutorials/img/lightmap_depot_render.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/lightmap_depot_render.png
--------------------------------------------------------------------------------
/tutorials/img/lightmap_depot_saved.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/lightmap_depot_saved.jpg
--------------------------------------------------------------------------------
/tutorials/img/lightmap_import.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/lightmap_import.png
--------------------------------------------------------------------------------
/tutorials/img/lightmap_material_connection.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/lightmap_material_connection.jpg
--------------------------------------------------------------------------------
/tutorials/img/lightmap_material_shader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/lightmap_material_shader.png
--------------------------------------------------------------------------------
/tutorials/img/lightmap_new_texture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/lightmap_new_texture.png
--------------------------------------------------------------------------------
/tutorials/img/lightmap_rendered.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/lightmap_rendered.png
--------------------------------------------------------------------------------
/tutorials/img/lightmap_unwrap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/lightmap_unwrap.png
--------------------------------------------------------------------------------
/tutorials/img/mesh_viewer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/mesh_viewer.png
--------------------------------------------------------------------------------
/tutorials/img/ogre2_sky_envmap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/ogre2_sky_envmap.png
--------------------------------------------------------------------------------
/tutorials/img/particles.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/particles.gif
--------------------------------------------------------------------------------
/tutorials/img/render_order_bad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/render_order_bad.png
--------------------------------------------------------------------------------
/tutorials/img/render_order_good.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/render_order_good.png
--------------------------------------------------------------------------------
/tutorials/img/render_pass.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/render_pass.gif
--------------------------------------------------------------------------------
/tutorials/img/simple_demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/simple_demo.gif
--------------------------------------------------------------------------------
/tutorials/img/skybox_gimp_layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/skybox_gimp_layers.png
--------------------------------------------------------------------------------
/tutorials/img/text_geom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/text_geom.png
--------------------------------------------------------------------------------
/tutorials/img/transform_fbx_to_dae/edit_origin.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/transform_fbx_to_dae/edit_origin.gif
--------------------------------------------------------------------------------
/tutorials/img/transform_fbx_to_dae/import_model.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/transform_fbx_to_dae/import_model.gif
--------------------------------------------------------------------------------
/tutorials/img/transform_fbx_to_dae/remove_elemets.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gazebosim/gz-rendering/cd6009ee6f6a80fb41e54ddb8e805330111660fd/tutorials/img/transform_fbx_to_dae/remove_elemets.gif
--------------------------------------------------------------------------------
/tutorials/index.md:
--------------------------------------------------------------------------------
1 | # Introduction
2 |
3 | Placeholder
4 |
--------------------------------------------------------------------------------