chrono::irrlicht Namespace Reference
Description
Namespace with classes for the Irrlicht module.
Namespaces | |
tools | |
Utilities for interfacing Chrono and Irrlicht. | |
Classes | |
class | ChIrrGUI |
Irrlicht GUI attached to a ChVisualSystemIrrlicht. More... | |
class | ChIrrNodeModel |
Irrlicht scene node associated with the visual model of a physics item. More... | |
class | ChIrrNodeShape |
Irrlicht scene node associated with a visual shape in a visual model. More... | |
class | ChVisualSystemIrrlicht |
Irrlicht-based Chrono run-time visualization system. More... | |
class | CScreenQuad |
CScreenQuad. More... | |
class | CShaderPreprocessor |
CShaderPreprocessor. More... | |
class | DepthShaderCB |
DepthShaderCB. More... | |
class | EffectHandler |
Main effect handling class, use this to apply shadows and effects. More... | |
class | RTSCamera |
Class to create an interactive videocamera in Irrlicht, that is similar to the Maya camera but hasn't the problems that the Maya camera has in Irrlicht 1.5. More... | |
class | ScreenQuadCB |
ScreenQuadCB. More... | |
class | ShadowShaderCB |
ShadowShaderCB. More... | |
Enumerations | |
enum | E_SHADER_EXTENSION { ESE_GLSL, ESE_HLSL, ESE_COUNT } |
enum | E_SHADOW_MODE { ESM_RECEIVE, ESM_CAST, ESM_BOTH, ESM_EXCLUDE, ESM_COUNT } |
Shadow mode enums, sets whether a node receives shadows, casts shadows, or both. More... | |
enum | E_FILTER_TYPE { EFT_NONE, EFT_4PCF, EFT_8PCF, EFT_12PCF, EFT_16PCF, EFT_COUNT } |
Various filter types, up to 16 samples PCF. | |
enum | ContactsDrawMode { CONTACT_NORMALS = 0, CONTACT_DISTANCES, CONTACT_FORCES_N, CONTACT_FORCES, CONTACT_NONE } |
enum | ContactsLabelMode { CONTACT_DISTANCES_VAL, CONTACT_FORCES_VAL, CONTACT_FORCES_N_VAL, CONTACT_FORCES_T_VAL, CONTACT_TORQUES_VAL, CONTACT_TORQUES_S_VAL, CONTACT_TORQUES_R_VAL, CONTACT_NONE_VAL } |
enum | LinkDrawMode { LINK_REACT_FORCE = 0, LINK_REACT_TORQUE, LINK_NONE } |
enum | LinkLabelMode { LINK_REACT_FORCE_VAL = 0, LINK_REACT_FORCE_X, LINK_REACT_FORCE_Y, LINK_REACT_FORCE_Z, LINK_REACT_TORQUE_VAL, LINK_REACT_TORQUE_X, LINK_REACT_TORQUE_Y, LINK_REACT_TORQUE_Z, LINK_NONE_VAL } |
Functions | |
irr::core::array< SDefineExp > | grabDefineExpressions (irr::core::stringc &shaderProgram) |
std::string | getFileContent (const std::string pFile) |
IAnimatedMesh * | createEllipticalMesh (f32 radiusH, f32 radiusV, f32 Ylow, f32 Yhigh, f32 offset, u32 polyCountX, u32 polyCountY) |
IMesh * | createCubeMesh (const irr::core::vector3df &size) |
Create an Irrlicht mesh representing a box. More... | |
IMesh * | createConeMesh (f32 radius, f32 length, u32 tesselation) |
IMesh * | createCylinderMesh (f32 radius, f32 length, u32 tesselation) |
IMesh * | createCapsuleMesh (f32 radius, f32 hlen, u32 numSegV, u32 numSegR) |
IMesh * | createTruncatedConeMesh (f32 radius_top, f32 radius_low, f32 length, u32 tesselation) |
void | fillChTrimeshFromIrlichtMesh (chrono::ChTriangleMesh *chTrimesh, IMesh *pMesh) |
void | fillIrlichtMeshFromChTrimesh (IMesh *pMesh, chrono::ChTriangleMesh *chTrimesh, irr::video::SColor clr) |
ChApiIrr irr::scene::IAnimatedMesh * | createEllipticalMesh (irr::f32 radiusH, irr::f32 radiusV, irr::f32 Ylow, irr::f32 Yhigh, irr::f32 offset, irr::u32 polyCountX, irr::u32 polyCountY) |
Some functions to allow easy creation of meshes for Irrlicht visualization. More... | |
ChApiIrr irr::scene::IMesh * | createCylinderMesh (irr::f32 radius, irr::f32 height, irr::u32 tesselation) |
Create an Irrlicht mesh representing a cylinder. More... | |
ChApiIrr irr::scene::IMesh * | createCapsuleMesh (irr::f32 radius, irr::f32 hlen, irr::u32 numSegV, irr::u32 numSegR) |
Create an Irrlicht mesh representing a capsule. More... | |
ChApiIrr irr::scene::IMesh * | createTruncatedConeMesh (irr::f32 radius_top, irr::f32 radius_low, irr::f32 height, irr::u32 tesselation) |
Create an Irrlicht mesh representing a truncated cone. More... | |
ChApiIrr irr::scene::IMesh * | createConeMesh (irr::f32 radius_low, irr::f32 height, irr::u32 tesselation) |
Create an Irrlicht mesh representing a cone. More... | |
ChApiIrr void | fillChTrimeshFromIrlichtMesh (ChTriangleMesh *chTrimesh, irr::scene::IMesh *pMesh) |
This function is based on a modified version of the irrlicht_bullet demo, see http://www.continuousphysics.com It is used to convert an Irrlicht mesh into a ChTriangleMesh, which is used for collision detection in Chrono. More... | |
ChApiIrr void | fillIrlichtMeshFromChTrimesh (irr::scene::IMesh *pMesh, ChTriangleMesh *chTrimesh, irr::video::SColor clr=irr::video::SColor(255, 255, 255, 255)) |
Given a ChTriangleMesh object, computes an Irrlicht mesh. More... | |
Enumeration Type Documentation
◆ E_SHADOW_MODE
Shadow mode enums, sets whether a node receives shadows, casts shadows, or both.
If the mode is ESM_CAST, it will not be affected by shadows or lighting.
Variable Documentation
◆ LIGHT_MODULATE_P
const char* const chrono::irrlicht::LIGHT_MODULATE_P[ESE_COUNT] |
Initial value:
= {
"uniform sampler2D ColorMapSampler;\n"
"uniform sampler2D ScreenMapSampler;\n"
""
"void main() "
"{ "
" vec4 finalCol = texture2D(ColorMapSampler, gl_TexCoord[0].xy);\n"
" vec4 lightCol = texture2D(ScreenMapSampler, gl_TexCoord[0].xy);\n"
""
" gl_FragColor = finalCol * lightCol;\n"
"}",
"sampler2D ColorMapSampler : register(s0);\n"
"sampler2D ScreenMapSampler : register(s1);\n"
""
"float4 pixelMain(float2 TexCoords : TEXCOORD0) : COLOR0"
"{ "
" float4 finalCol = tex2D(ColorMapSampler, TexCoords);\n"
" float4 lightCol = tex2D(ScreenMapSampler, TexCoords);\n"
""
" return finalCol * lightCol;\n"
"}"}
◆ SHADOW_PASS_1P
const char* const chrono::irrlicht::SHADOW_PASS_1P[ESE_COUNT] |
Initial value:
= {
"void main() "
"{"
" vec4 vInfo = gl_TexCoord[0];\n"
" float depth = vInfo.z / vInfo.x;\n"
" gl_FragColor = vec4(depth, depth * depth, 0.0, 0.0);\n"
"}",
"float4 pixelMain(float4 ClipPos: TEXCOORD0) : COLOR0"
"{"
" float depth = ClipPos.z / ClipPos.x;\n"
" return float4(depth, depth * depth, 0.0, 0.0);\n"
"}"}
◆ SHADOW_PASS_1PT
const char* const chrono::irrlicht::SHADOW_PASS_1PT[ESE_COUNT] |
Initial value:
= {
"uniform sampler2D ColorMapSampler;\n"
""
"void main() "
"{"
" vec4 vInfo = gl_TexCoord[0];\n"
""
" float depth = vInfo.z / vInfo.x;\n"
""
" float alpha = texture2D(ColorMapSampler, gl_TexCoord[1].xy).a;\n"
""
" gl_FragColor = vec4(depth, depth * depth, 0.0, alpha);\n"
"}",
"sampler2D ColorMapSampler : register(s0);\n"
""
"float4 pixelMain(float4 Color: TEXCOORD0, float2 Texcoords: TEXCOORD1) : COLOR0"
"{"
" float depth = Color.z / Color.w;\n"
" "
" float alpha = tex2D(ColorMapSampler, Texcoords).a;\n"
" "
" return float4(depth, depth * depth, 0.0, alpha);\n"
"}"}
◆ SIMPLE_P
const char* const chrono::irrlicht::SIMPLE_P[ESE_COUNT] |
Initial value:
= {
"uniform sampler2D ColorMapSampler;\n"
""
"void main() "
"{ "
" vec4 finalCol = texture2D(ColorMapSampler, gl_TexCoord[0].xy);\n"
" gl_FragColor = finalCol;\n"
"}",
"sampler2D ColorMapSampler : register(s0);\n"
""
"float4 pixelMain(float2 TexCoords : TEXCOORD0) : COLOR0"
"{ "
" float4 finalCol = tex2D(ColorMapSampler, TexCoords);\n"
" return finalCol;\n"
"}"}
◆ WHITE_WASH_P
const char* const chrono::irrlicht::WHITE_WASH_P[ESE_COUNT] |
Initial value:
= {
"uniform sampler2D ColorMapSampler;\n"
""
"void main() "
"{"
" float alpha = texture2D(ColorMapSampler, gl_TexCoord[1].xy).a;\n"
""
" gl_FragColor = vec4(1.0, 1.0, 1.0, alpha);\n"
"}",
"sampler2D ColorMapSampler : register(s0);\n"
""
"float4 pixelMain(float4 Color: TEXCOORD0, float2 Texcoords: TEXCOORD1) : COLOR0"
"{"
" float alpha = tex2D(ColorMapSampler, Texcoords).a;\n"
""
" return float4(1.0, 1.0, 1.0, alpha);\n"
"}"}
◆ WHITE_WASH_P_ADD
const char* const chrono::irrlicht::WHITE_WASH_P_ADD[ESE_COUNT] |
Initial value:
= {
"uniform sampler2D ColorMapSampler;\n"
"float luminance(vec3 color)"
"{"
" return clamp(color.r * 0.3 + color.g * 0.59 + color.b * 0.11, 0.0, 1.0);\n"
"}"
"void main() "
"{"
" vec4 diffuseTex = texture2D(ColorMapSampler, gl_TexCoord[1].xy);\n"
" //diffuseTex *= gl_TexCoord[2];\n"
""
" gl_FragColor = vec4(1.0, 1.0, 1.0, luminance(diffuseTex.rgb));\n"
"}",
"sampler2D ColorMapSampler : register(s0);\n"
""
"float luminance(float3 color)"
"{"
" return clamp(color.r * 0.3 + color.g * 0.59 + color.b * 0.11, 0.0, 1.0);\n"
"}"
""
"float4 pixelMain(float4 Color : TEXCOORD0, float2 Texcoords : TEXCOORD1, float4 VColor : TEXCOORD2) : COLOR0"
"{"
" float4 diffuseTex = tex2D(ColorMapSampler, Texcoords);\n"
" diffuseTex *= VColor;\n"
""
" return float4(1.0, 1.0, 1.0, luminance(diffuseTex.rgb));\n"
"}"}