|
RenderStack 11.06.1
|
Public Member Functions | |
| void | Connect (MaterialManager materialManager) |
| Model | AddModel (Model model) |
| void | AddFloor (float size) |
| void | AddSimpleScene () |
Public Attributes | |
| Vector3 | Home = new Vector3(0.0f, 4.0f, 15.0f) |
Protected Member Functions | |
| override void | InitializeService () |
Properties | |
| override string | Name [get] |
| Camera | Camera [get] |
| Camera | Camera2D [get] |
| Group | RenderGroup [get] |
| FrameController | CameraControls [get] |
Definition at line 37 of file example.UI/SceneManager.cs.
| void example.UI.SceneManager.Connect | ( | MaterialManager | materialManager | ) |
Definition at line 56 of file example.UI/SceneManager.cs.
{
this.materialManager = materialManager;
InitializationDependsOn(materialManager);
}
| override void example.UI.SceneManager.InitializeService | ( | ) | [protected, virtual] |
Implements example.UI.Service.
Definition at line 65 of file example.UI/SceneManager.cs.
{
AddFloor(20.0f);
AddSimpleScene();
InitializeCameras();
}
Definition at line 73 of file example.UI/SceneManager.cs.
{
if(model == null)
{
throw new System.ArgumentNullException();
}
renderGroup.Models.Add(model);
return model;
}
| void example.UI.SceneManager.AddFloor | ( | float | size | ) |
Definition at line 85 of file example.UI/SceneManager.cs.
References RenderStack.Geometry.GeometryOperation.Destination.
{
Geometry g = new Cube(size, 1.0, size);
g = new SubdivideGeometryOperation(g).Destination;
g = new SubdivideGeometryOperation(g).Destination;
g = new SubdivideGeometryOperation(g).Destination;
GeometryMesh floorMesh = new GeometryMesh(g, NormalStyle.PolygonNormals);
var floorModel = new Model(
"Cube (floor)",
floorMesh,
materialManager.GridMaterial,
0.0f, -0.5f, 0.0f
);
AddModel(floorModel);
}
| void example.UI.SceneManager.AddSimpleScene | ( | ) |
Definition at line 103 of file example.UI/SceneManager.cs.
References RenderStack.Math.Matrix4.CreateRotation(), RenderStack.Math.Conversions.DegreesToRadians(), RenderStack.Geometry.Geometry.Geometry(), RenderStack.Geometry.Geometry.Transform(), and RenderStack.Math.Vector3.UnitZ.
{
// Shapes here have local 0,0,0 at center of mass
Geometry cubeGeometry = new RenderStack.Geometry.Shapes.Cube(1.0f, 1.0f, 1.0f);
GeometryMesh cubeMesh = new GeometryMesh(cubeGeometry, NormalStyle.PolygonNormals);
GeometryMesh sphereMesh = new GeometryMesh(
new RenderStack.Geometry.Shapes.Sphere(0.75, 20, 12),
NormalStyle.CornerNormals
);
Geometry cylinderGeometry = new RenderStack.Geometry.Shapes.Cylinder(-0.5f, 0.5f, 0.5f, 24);
cylinderGeometry.Transform(
Matrix4.CreateRotation(
Conversions.DegreesToRadians(90.0f),
Vector3.UnitZ
)
);
GeometryMesh cylinderMesh = new GeometryMesh(cylinderGeometry, NormalStyle.CornerNormals);
Geometry coneGeometry = new RenderStack.Geometry.Shapes.Cone(-1.0f / 3.0f, 2.0f / 3.0f, 0.75f, 0.0f, true, false, 24, 10);
coneGeometry.Transform(
Matrix4.CreateRotation(
Conversions.DegreesToRadians(90.0f),
Vector3.UnitZ
)
);
GeometryMesh coneMesh = new GeometryMesh(coneGeometry, NormalStyle.CornerNormals);
/* Models */
float gap = 2.5f;
Material pearl = materialManager["pearl"] ;
Material gold = materialManager["gold"] ;
Material red = materialManager["red"] ;
Material green = materialManager["green"] ;
Material cyan = materialManager["cyan"] ;
Material blue = materialManager["blue"] ;
Material magenta = materialManager["magenta"];
Material pink = materialManager["pink"] ;
AddModel(new Model("cube", cubeMesh, pearl, -3.5f * gap, 0.5f, 0.0f));
AddModel(new Model("box", cubeMesh, gold, -2.5f * gap, 0.5f, 0.0f));
AddModel(new Model("sphere", sphereMesh, red, -1.5f * gap, 0.75f, 0.0f));
AddModel(new Model("sphere", sphereMesh, green, -0.5f * gap, 0.75f, 0.0f));
AddModel(new Model("cylinder", cylinderMesh, cyan, 0.5f * gap, 0.5f, 0.0f));
AddModel(new Model("cylinder", cylinderMesh, blue, 1.5f * gap, 0.5f, 0.0f));
AddModel(new Model("cone", coneMesh, magenta, 2.5f * gap, 1.0f / 3.0f, 0.0f));
AddModel(new Model("cone", coneMesh, pink, 3.5f * gap, 1.0f / 3.0f, 0.0f));
}
| Vector3 example.UI.SceneManager.Home = new Vector3(0.0f, 4.0f, 15.0f) |
Definition at line 149 of file example.UI/SceneManager.cs.
override string example.UI.SceneManager.Name [get] |
Reimplemented from example.UI.Service.
Definition at line 40 of file example.UI/SceneManager.cs.
Camera example.UI.SceneManager.Camera [get] |
Definition at line 51 of file example.UI/SceneManager.cs.
Camera example.UI.SceneManager.Camera2D [get] |
Definition at line 52 of file example.UI/SceneManager.cs.
Group example.UI.SceneManager.RenderGroup [get] |
Definition at line 53 of file example.UI/SceneManager.cs.
FrameController example.UI.SceneManager.CameraControls [get] |
Definition at line 54 of file example.UI/SceneManager.cs.
1.7.4