Class Element3D
Represents a 3D element in the game world, such as a 3D model with shaders.
Inherited Members
Namespace: Genesis.Core.GameElements
Assembly: Genesis.dll
Syntax
public class Element3D : GameElement
Constructors
Element3D(string, string, Vec3, Vec3, Vec3)
Initializes a new instance of the Element3D class with specified parameters.
Declaration
public Element3D(string name, string path, Vec3 location, Vec3 rotation, Vec3 scale)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the 3D element. |
string | path | The file path to the 3D model. |
Vec3 | location | The initial location of the 3D element. |
Vec3 | rotation | The initial rotation of the 3D element. |
Vec3 | scale | The initial scale of the 3D element. |
Properties
HasTransparancy
Gets or sets a value indicating whether the object has transparency.
Declaration
public bool HasTransparancy { get; set; }
Property Value
Type | Description |
---|---|
bool |
Materials
Gets or sets the materials from the model
Declaration
public List<Material> Materials { get; set; }
Property Value
Type | Description |
---|---|
List<Material> |
Meshes
Gets or sets the meshes from the model
Declaration
public List<Mesh> Meshes { get; set; }
Property Value
Type | Description |
---|---|
List<Mesh> |
Shader
Gets or sets the shader program associated with this 3D element.
Declaration
public ShaderProgram Shader { get; set; }
Property Value
Type | Description |
---|---|
ShaderProgram |
Methods
CreateInstanceContainer(Element3D, bool)
Declaration
public static RenderInstanceContainer CreateInstanceContainer(Element3D element, bool updateInstances = false)
Parameters
Type | Name | Description |
---|---|---|
Element3D | element | |
bool | updateInstances |
Returns
Type | Description |
---|---|
RenderInstanceContainer |
GetMaterialBuffers(Material)
Gets the material buffers for a specific material index.
Declaration
public MaterialBuffer GetMaterialBuffers(Material material)
Parameters
Type | Name | Description |
---|---|---|
Material | material | The material index. |
Returns
Type | Description |
---|---|
MaterialBuffer | A MaterialBuffer containing vertex, normal, and texture coordinate data. |
GetShape()
Gets the shape data of the 3D element.
Declaration
public float[] GetShape()
Returns
Type | Description |
---|---|
float[] | An array representing the shape data. |
Init(Game, IRenderDevice)
Called when the game is being initialized. Override to provide custom initialization logic.
Declaration
public override void Init(Game game, IRenderDevice renderDevice)
Parameters
Type | Name | Description |
---|---|---|
Game | game | The game instance. |
IRenderDevice | renderDevice | The render device used for rendering. |
Overrides
OnDestroy(Game)
Called when the game element is being destroyed. Override to provide custom cleanup logic.
Declaration
public override void OnDestroy(Game game)
Parameters
Type | Name | Description |
---|---|---|
Game | game | The game instance. |
Overrides
OnRender(Game, IRenderDevice)
Called when the game is being rendered. Override to provide custom rendering logic.
Declaration
public override void OnRender(Game game, IRenderDevice renderDevice)
Parameters
Type | Name | Description |
---|---|---|
Game | game | The game instance. |
IRenderDevice | renderDevice | The render device used for rendering. |
Overrides
OnUpdate(Game, IRenderDevice)
Called when the game is being updated. Override to provide custom update logic.
Declaration
public override void OnUpdate(Game game, IRenderDevice renderDevice)
Parameters
Type | Name | Description |
---|---|---|
Game | game | The game instance. |
IRenderDevice | renderDevice | The render device used for rendering. |
Overrides
ToRenderInstance()
Declaration
public RenderInstanceContainer ToRenderInstance()
Returns
Type | Description |
---|---|
RenderInstanceContainer |