le3d - LightEngine 3D
A straightforward C++ 3D software engine for real-time graphics
Macros
F:/le3d/config.h File Reference

LightEngine 3D: General engine configuration file. More...

Go to the source code of this file.

Macros

#define LE_RESOX_DEFAULT   640 /** Default horizontal resolution */
 
#define LE_RESOY_DEFAULT   480 /** Default vertical resolution */
 
#define LE_MAX_FILE_EXTENSION   8 /** Maximum file extension string length */
 
#define LE_MAX_FILE_NAME   128 /** Maximum file name string length */
 
#define LE_MAX_FILE_PATH   256 /** Maximum file path string length */
 
#define LE_WINDOW_EXTENDED_KEYS   1 /** Enable events for extended keyboard keys */
 
#define LE_BMPCACHE_SLOTS   1024 /** Maximum number of bitmaps in cache */
 
#define LE_MESHCACHE_SLOTS   1024 /** Maximum number of meshes in cache */
 
#define LE_OBJ_MAX_NAME   256 /** Wavefront object maximum name string length */
 
#define LE_OBJ_MAX_LINE   1024 /** Wavefront object maximum file line length */
 
#define LE_OBJ_MAX_PATH   256 /** Wavefront object maximum path string length */
 
#define LE_BMP_MIPMAPS   32 /** Maximum number of mipmaps per bitmap */
 
#define LE_RENDERER_NEAR_DEFAULT   1.0f /** Default near clipping distance */
 
#define LE_RENDERER_FAR_DEFAULT   32768.0f /** Default far clipping distance */
 
#define LE_RENDERER_FOV_DEFAULT   65.0f /** Default field of view */
 
#define LE_RENDERER_3DFRUSTRUM   1 /** Use a 3D frustrum to clip triangles */
 
#define LE_RENDERER_2DFRAME   0 /** Use a 2D frame to clip triangles */
 
#define LE_RENDERER_INTRASTER   0 /** Enable fixed point or floating point rasterizing */
 
#define LE_TRILIST_MAX   50000 /** Maximum number of triangles in display list */
 
#define LE_VERLIST_MAX   150000 /** Maximum number of vertexes in transformation buffer */
 
#define LE_USE_SIMD   1 /** Use generic compiler support for SIMD instructions */
 
#define LE_USE_SSE2   1 /** Use Intel SSE2 instructions */
 
#define LE_USE_AMMX   0 /** Use Apollo AMMX instructions */
 

Detailed Description

LightEngine 3D: General engine configuration file.

All platforms implementation

Author
Frederic Meslin (fred@.nosp@m.fred.nosp@m.slab..nosp@m.net) http://fredslab.net
Version
1.6

The MIT License (MIT) Copyright (c) 2015-2018 Frédéric Meslin

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Macro Definition Documentation

#define LE_BMP_MIPMAPS   32 /** Maximum number of mipmaps per bitmap */

Bitmap manipulator

#define LE_BMPCACHE_SLOTS   1024 /** Maximum number of bitmaps in cache */

Data caches

#define LE_MAX_FILE_EXTENSION   8 /** Maximum file extension string length */
#define LE_MAX_FILE_NAME   128 /** Maximum file name string length */
#define LE_MAX_FILE_PATH   256 /** Maximum file path string length */
#define LE_MESHCACHE_SLOTS   1024 /** Maximum number of meshes in cache */
#define LE_OBJ_MAX_LINE   1024 /** Wavefront object maximum file line length */
#define LE_OBJ_MAX_NAME   256 /** Wavefront object maximum name string length */

Wavefront object parser

#define LE_OBJ_MAX_PATH   256 /** Wavefront object maximum path string length */
#define LE_RENDERER_2DFRAME   0 /** Use a 2D frame to clip triangles */
#define LE_RENDERER_3DFRUSTRUM   1 /** Use a 3D frustrum to clip triangles */
#define LE_RENDERER_FAR_DEFAULT   32768.0f /** Default far clipping distance */
#define LE_RENDERER_FOV_DEFAULT   65.0f /** Default field of view */
#define LE_RENDERER_INTRASTER   0 /** Enable fixed point or floating point rasterizing */
#define LE_RENDERER_NEAR_DEFAULT   1.0f /** Default near clipping distance */

Renderer configuration

#define LE_RESOX_DEFAULT   640 /** Default horizontal resolution */

Engine configuration

#define LE_RESOY_DEFAULT   480 /** Default vertical resolution */
#define LE_TRILIST_MAX   50000 /** Maximum number of triangles in display list */
#define LE_USE_AMMX   0 /** Use Apollo AMMX instructions */
#define LE_USE_SIMD   1 /** Use generic compiler support for SIMD instructions */
#define LE_USE_SSE2   1 /** Use Intel SSE2 instructions */

Performance optimizations

#define LE_VERLIST_MAX   150000 /** Maximum number of vertexes in transformation buffer */
#define LE_WINDOW_EXTENDED_KEYS   1 /** Enable events for extended keyboard keys */

Windows manager