Skip to content

Commit

Permalink
Merge branch 'OGRECave:master' into RenderingThread
Browse files Browse the repository at this point in the history
  • Loading branch information
andre-caldas authored Oct 14, 2024
2 parents 265f125 + d9c0da7 commit 206572a
Show file tree
Hide file tree
Showing 16 changed files with 355 additions and 340 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/pip-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,16 @@ jobs:
shell: bash
- name: Install Dependencies
run: |
curl -LO https://sdk.lunarg.com/sdk/download/1.3.224.1/windows/VulkanSDK-1.3.224.1-Installer.exe
.\VulkanSDK-1.3.224.1-Installer.exe --accept-licenses --default-answer --confirm-command install
curl -LO https://sdk.lunarg.com/sdk/download/1.3.275.0/windows/VulkanSDK-1.3.275.0-Installer.exe
.\VulkanSDK-1.3.275.0-Installer.exe --accept-licenses --default-answer --confirm-command install
- name: Build
run: |
python -m pip install --upgrade pip==24.0
pip install setuptools wheel twine
pip wheel . --verbose
python -m twine upload --repository pypi *.whl
env:
VULKAN_SDK: C:\VulkanSDK\1.3.224.1
VULKAN_SDK: C:\VulkanSDK\1.3.275.0
SKBUILD_BUILD_OPTIONS: -j4
macos:
runs-on: macos-12
Expand Down
31 changes: 19 additions & 12 deletions BuildingOgre.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,20 +77,27 @@ The optional dependencies will enable input handling and allow building the docu
* SDL: https://www.libsdl.org/
* zlib: http://www.zlib.net
* freetype: http://www.freetype.org
* googletest: https://github.com/google/googletest

### Optional dependencies

* DirectX SDK: http://msdn.microsoft.com/en-us/directx/
* Vulkan SDK: https://vulkan.lunarg.com/
* FreeImage: http://freeimage.sourceforge.net
* Doxygen: http://doxygen.org
* Cg: http://developer.nvidia.com/object/cg_toolkit.html
* Remotery: https://github.com/Celtoys/Remotery
* SWIG: http://www.swig.org/
* %Assimp: https://www.assimp.org/
* Wayland: https://wayland.freedesktop.org/
* Rust: https://www.rust-lang.org/
* Bullet: https://pybullet.org/wordpress/

### Deprecated dependencies

* FreeImage: http://freeimage.sourceforge.net
* Cg: http://developer.nvidia.com/object/cg_toolkit.html
* OpenEXR: http://www.openexr.com

Running CMake
Running CMake {#running-cmake}
-------------

Now start the program cmake-gui by either typing the name in a console
Expand Down Expand Up @@ -147,7 +154,7 @@ This will freshly generate the API documentation for Ogre's classes from the hea
make OgreDoc


Installing
Installing {#installing-sdk}
----------

Once the build is complete, the libraries and headers must be copied to a clean location.
Expand Down Expand Up @@ -177,8 +184,8 @@ The ogre port in vcpkg is kept up to date by Microsoft team members and communit

# Cross-Compiling

Building on Ubuntu for Android
--------------------------------------------
Android
-------

To build Ogre for Android, you need to specify the android cross toolchain to cmake as

Expand All @@ -190,8 +197,8 @@ You can now import these projects in Android Studio or manually trigger the APK

gradle assembleRelease

Building for WebAssembly (using Emscripten)
-----------------------------------------
WebAssembly / Emscripten
------------------------
Install the Emscripten SDK (see full documentation on [www.emscripten.org](https://emscripten.org/docs/getting_started/downloads.html)), and make sure
that the environment variables are correctly set (eg. run `source <emsdk_path>/emsdk_env.sh` before attempting to build)

Expand All @@ -207,8 +214,8 @@ This will not build the full SampleBrowser, but just a minimal Sample. The resul

To prevent any cross-origin issues, start a local webserver as `python3 -m http.server 8000` and visit http://localhost:8000.

Building on Mac OS X for iOS OS
-------------------------------
iOS OS
------

To build Ogre for iOS, you need to specify the ios cross toolchain to cmake as

Expand All @@ -233,8 +240,8 @@ the Info.plist file to match the App ID of the chosen code signing identity.
This can be done from the Target Properties panel. It must match the bundle
identifier of a valid developer certificate if you are building for devices.

Building as Windows Store or Windows Phone application
-------------------------------------------------------------------
WinRT / UWP
------------------------------

You need Windows 8.0 or later, Windows 10 is recommended.

Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ if (APPLE AND NOT ANDROID AND NOT EMSCRIPTEN AND NOT ANDROID_PLATFORM)
add_definitions(-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0)
endif ()

project(OGRE VERSION 14.3.0)
project(OGRE VERSION 14.3.1)

# extra version info
set(OGRE_VERSION_SUFFIX "")
Expand Down
20 changes: 10 additions & 10 deletions Docs/src/high-level-programs.md
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ The available varyings are:
The following features are only available when using the legacy OpenGL profile. Notably they are not available with GL3+ or GLES2.
### OpenGL state
GLSL can access most of the GL states directly so you do not need to pass these states through [param\_named\_auto](#param_005fnamed_005fauto) in the material script. This includes lights, material state, and all the matrices used in the openGL state i.e. model view matrix, worldview projection matrix etc.
GLSL can access most of the GL states directly so you do not need to pass these states through [param_named_auto](#param_005fnamed_005fauto) in the material script. This includes lights, material state, and all the matrices used in the openGL state i.e. model view matrix, worldview projection matrix etc.
### Built-in attributes
GLSL natively supports automatic binding of the most common incoming per-vertex attributes (e.g. `gl_Vertex`, `gl_Normal`, `gl_MultiTexCoord0` etc)
Expand Down Expand Up @@ -557,11 +557,11 @@ At runtime, when myVertexProgram or myFragmentProgram are used, OGRE automatical

Parameters can be specified using one of 4 commands as shown below. The same syntax is used whether you are defining a parameter just for this particular use of the program, or when specifying the @ref Default-Program-Parameters. Parameters set in the specific use of the program override the defaults.

- [param\_indexed](#param_005findexed)
- [param\_indexed\_auto](#param_005findexed_005fauto)
- [param\_named](#param_005fnamed)
- [param\_named\_auto](#param_005fnamed_005fauto)
- [shared\_params\_ref](#shared_005fparams_005fref)
- [param_indexed](#param_005findexed)
- [param_indexed_auto](#param_005findexed_005fauto)
- [param_named](#param_005fnamed)
- [param_named_auto](#param_005fnamed_005fauto)
- [shared_params_ref](#shared_005fparams_005fref)

<a name="param_005findexed"></a><a name="param_005findexed-1"></a>

Expand Down Expand Up @@ -595,7 +595,7 @@ Format: param\_indexed\_auto &lt;index&gt; &lt;autoConstType&gt; &lt;extraInfo&g
Example: param\_indexed\_auto 0 worldviewproj\_matrix

@param index
has the same meaning as [param\_indexed](#param_005findexed); note this time you do not have to specify the size of the parameter because the engine knows this already. In the example, the world/view/projection matrix is being used so this is implicitly a matrix4x4.
has the same meaning as [param_indexed](#param_005findexed); note this time you do not have to specify the size of the parameter because the engine knows this already. In the example, the world/view/projection matrix is being used so this is implicitly a matrix4x4.

@param autoConstType, extraInfo
is one of Ogre::GpuProgramParameters::AutoConstantType without the `ACT_` prefix. E.g. `ACT_WORLD_MATRIX` becomes `world_matrix`.
Expand Down Expand Up @@ -623,7 +623,7 @@ Format: param\_named\_auto &lt;name&gt; &lt;autoConstType&gt; &lt;extraInfo&gt;
@par
Example: param\_named\_auto worldViewProj worldviewproj\_matrix

The allowed @c autoConstType and the meaning of @c extraInfo are detailed in [param\_indexed\_auto](#param_005findexed_005fauto).
The allowed @c autoConstType and the meaning of @c extraInfo are detailed in [param_indexed_auto](#param_005findexed_005fauto).

<a name="shared_005fparams_005fref"></a><a name="shared_005fparams_005fref-1"></a>

Expand All @@ -649,7 +649,7 @@ shared_params YourSharedParamsName
}
```

As you can see, you need to use the keyword ’shared\_params’ and follow it with the name that you will use to identify these shared parameters. Inside the curly braces, you can define one parameter per line, in a way which is very similar to the [param\_named](#param_005fnamed) syntax. The definition of these lines is:
As you can see, you need to use the keyword ’shared\_params’ and follow it with the name that you will use to identify these shared parameters. Inside the curly braces, you can define one parameter per line, in a way which is very similar to the [param_named](#param_005fnamed) syntax. The definition of these lines is:
@par
Format: shared\_param\_named &lt;param\_name&gt; &lt;param\_type&gt; \[&lt;\[array\_size\]&gt;\] \[&lt;initial\_values&gt;\]

Expand All @@ -658,7 +658,7 @@ Format: shared\_param\_named &lt;param\_name&gt; &lt;param\_type&gt; \[&lt;\[arr
@param array_size allows you to define arrays of param\_type should you wish, and if present must be a number enclosed in square brackets (and note, must be separated from the param\_type with whitespace).
@param initial_values If you wish, you can also initialise the parameters by providing a list of values.

Once you have defined the shared parameters, you can reference them inside default\_params and params blocks using [shared\_params\_ref](#shared_005fparams_005fref). You can also obtain a reference to them in your code via Ogre::GpuProgramManager::getSharedParameters, and update the values for all instances using them.
Once you have defined the shared parameters, you can reference them inside default\_params and params blocks using [shared_params_ref](#shared_005fparams_005fref). You can also obtain a reference to them in your code via Ogre::GpuProgramManager::getSharedParameters, and update the values for all instances using them.

## Hardware Support

Expand Down
2 changes: 1 addition & 1 deletion Docs/src/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ mSceneMgr->setShadowTechnique(SHADOWTYPE_STENCIL_ADDITIVE);
2. Create one or more lights. Note that not all light types are necessarily supported by all shadow techniques, you should check the sections about each technique to check. Note that if certain lights should not cast shadows, you can turn that off by calling setCastShadows(false) on the light, the default is true.
3. Disable shadow casting on objects which should not cast shadows. Call setCastShadows(false) on objects you don’t want to cast shadows, the default for all objects is to cast shadows.
4. Configure shadow far distance. You can limit the distance at which shadows are considered for performance reasons, by calling Ogre::SceneManager::setShadowFarDistance.
5. Turn off the receipt of shadows on materials that should not receive them. You can turn off the receipt of shadows (note, not the casting of shadows - that is done per-object) by calling Material::setReceiveShadows or using the receive\_shadows material attribute. This is useful for materials which should be considered self-illuminated for example. Note that transparent materials are typically excluded from receiving and casting shadows, although see the [transparency\_casts\_shadows](#transparency_005fcasts_005fshadows) option for exceptions.
5. Turn off the receipt of shadows on materials that should not receive them. You can turn off the receipt of shadows (note, not the casting of shadows - that is done per-object) by calling Material::setReceiveShadows or using the receive\_shadows material attribute. This is useful for materials which should be considered self-illuminated for example. Note that transparent materials are typically excluded from receiving and casting shadows, although see the [transparency_casts_shadows](#transparency_005fcasts_005fshadows) option for exceptions.
# Opting out of shadows {#Opting-out-of-shadows}
Expand Down
Loading

0 comments on commit 206572a

Please sign in to comment.