Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Doxyup #3242

Merged
merged 3 commits into from
Oct 13, 2024
Merged

Doxyup #3242

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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
Loading