// Init is called on startup. public override void Init() { _shader1 = RC.CreateShader(_vertexShader, _pixelShader); _shader2 = RC.CreateShader(_vertexShader, _pixelShader2); _mesh = new Mesh { Vertices = new[] { new float3(-0.75f, -0.75f, 0), new float3(0.75f, -0.75f, 0), new float3(-0.75f, 0.75f, 0) }, Triangles = new ushort[] { 0, 1, 2 } }; _mesh2 = new Mesh { Vertices = new[] { new float3(-0.75f, 0.75f, 0), new float3(0.75f, -0.75f, 0), new float3(0.75f, 0.75f, 0) }, Triangles = new ushort[] { 0, 1, 2 } }; // Set the clear color for the backbuffer to light green. RC.ClearColor = new float4(0.2f, 0.2f, 0.2f, 1); }
// Init is called on startup. public override void Init() { // Load the scene file "Cube.fus" SceneContainer sc = AssetStorage.Get <SceneContainer>("Cube.fus"); // Extract the 'First' object of type 'MeshComponent' found in 'sc'`s list of 'Children' without // further specifying any search criterion ('c => true' means: any found MeshComponent will do). MeshComponent mc = sc.Children.FindComponents <MeshComponent>(c => true).First(); // Generate a mesh from the MeshComponent's vertices, normals and triangles. _mesh = new Mesh { Vertices = mc.Vertices, Normals = mc.Normals, Triangles = mc.Triangles }; var shader = RC.CreateShader(_vertexShader, _pixelShader); RC.SetShader(shader); _xformParam = RC.GetShaderParam(shader, "xform"); _xform = float4x4.Identity; // Set the clear color for the backbuffer RC.ClearColor = new float4(1, 1, 1, 1); }
// Init is called on startup. public override void Init() { // Initialize the shader(s) var shader = RC.CreateShader(_vertexShader, _pixelShader); RC.SetShader(shader); _albedoParam = RC.GetShaderParam(shader, "albedo"); // Load meshes Mesh cube = LoadMesh("Cube.fus"); InitLevelArray(); // Setup a list of objects _root = new SceneOb { Children = new List <SceneOb>() }; for (int ix = 0; ix < levelArray.GetLength(0); ix++) { for (int iy = 0; iy < levelArray.GetLength(1); iy++) { for (int iz = 0; iz < levelArray.GetLength(2); iz++) { _root.Children.Add(new SceneOb { Mesh = cube, Pos = ((levelArray[ix, iy, iz].pos) * 1.05f), Albedo = levelArray[ix, iy, iz].albedo }); } } } // Set the clear color for the backbuffer RC.ClearColor = new float4(1, 1, 1, 1); }
// Init is called on startup. public override void Init() { _mesh = new Mesh { Vertices = new[] { new float3(-0.8165f, -0.3333f, -0.4714f), new float3(0.8165f, -0.3333f, -0.4714f), new float3(0, -0.3333f, 0.9428f), new float3(0, 1, 0), }, Triangles = new ushort[] { 0, 2, 1, 0, 1, 3, 1, 2, 3, 2, 0, 3, }, }; var shader = RC.CreateShader(_vertexShader, _pixelShader); RC.SetShader(shader); _alphaParam = RC.GetShaderParam(shader, "alpha"); _alpha = 0; // Set the clear color for the backbuffer RC.ClearColor = new float4(0.1f, 0.3f, 0.2f, 1); }
public override void Init() { _angleHorz = 0.2f; _angleVert = 0.2f; // is called on startup RC.ClearColor = new float4(1, 1, 1, 1); // initialize the variables _meshTea = MeshReader.LoadMesh(@"Assets/Teapot.obj.model"); _meshCube = MeshReader.LoadMesh(@"Assets/Cube.obj.model"); _meshSphere = MeshReader.LoadMesh(@"Assets/Sphere.obj.model"); _meshCylinder = MeshReader.LoadMesh(@"Assets/Cylinder.obj.model"); _meshPlatonic = MeshReader.LoadMesh(@"Assets/Platonic.obj.model"); //RC.CreateShader(Vs, Ps); _spColor = RC.CreateShader(Vs, Ps); //MoreShaders.GetShader("simple", RC); _spTexture = RC.CreateShader(Vt, Pt); //MoreShaders.GetShader("texture", RC); _spCustom = RC.CreateShader(VLin, PLin); _colorParam = _spColor.GetShaderParam("vColor"); _colorCustom = _spCustom.GetShaderParam("vColor"); _textureParam = _spTexture.GetShaderParam("vTexture"); // load texture var imgData = RC.LoadImage("Assets/world_map.jpg"); _iTex = RC.CreateTexture(imgData); _physic = new Physics(); _gui = new GUI(RC); _gui.SetUp(_physic.GetNumRB(), _physic.GetShapes()); }
public override void Init() { _world = new World(RC); // load mesh as geometry var geo1 = MeshReader.LoadGeometry("Assets/Cube.obj.model"); // create and set shader var sp = RC.CreateShader(VsSimpleTexture, PsSimpleTexture); RC.SetShader(sp); var material = new ShaderMaterial(sp); // load a texture and write a text on it var imgData = RC.LoadImage("Assets/cube_tex.jpg"); imgData = RC.TextOnImage(imgData, "Verdana", 80f, "FUSEE rocks!", "Black", 0, 30); var iTex = RC.CreateTexture(imgData); Texture1Param = sp.GetShaderParam("texture1"); RC.SetShaderParamTexture(Texture1Param, iTex); // add object with material _world.AddObject(geo1, material, 0, 0, 500); RC.ClearColor = new float4(0.1f, 0.1f, 0.1f, 1); }
// Init is called on startup. public override void Init() { var vertsh = AssetStorage.Get <string>("VertexShader.vert"); var pixsh = AssetStorage.Get <string>("PixelShader.frag"); // Initialize the shader(s) var shader = RC.CreateShader(vertsh, pixsh); RC.SetShader(shader); _albedoParam = RC.GetShaderParam(shader, "albedo"); // Load some meshes Mesh cube = LoadMesh("Cube.fus"); Mesh cylinder = LoadMesh("Cylinder.fus"); Mesh sphere = LoadMesh("Sphere.fus"); // Setup a list of objects _root = new SceneOb { Children = new List <SceneOb>(new [] { // Body new SceneOb { Mesh = cube, Pos = new float3(0, 2.75f, 0), ModelScale = new float3(0.5f, 1, 0.25f), Albedo = new float3(0.2f, 0.6f, 0.3f) }, // Legs new SceneOb { Mesh = cylinder, Pos = new float3(-0.25f, 1, 0), ModelScale = new float3(0.15f, 1, 0.15f), }, new SceneOb { Mesh = cylinder, Pos = new float3(0.25f, 1, 0), ModelScale = new float3(0.15f, 1, 0.15f), }, // Shoulders new SceneOb { Mesh = sphere, Pos = new float3(-0.75f, 3.5f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), }, new SceneOb { Mesh = sphere, Pos = new float3(0.75f, 3.5f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), }, // Arms new SceneOb { Mesh = cylinder, Pos = new float3(-0.75f, 2.5f, 0), ModelScale = new float3(0.15f, 1, 0.15f), }, new SceneOb { Mesh = cylinder, Pos = new float3(0.75f, 2.5f, 0), ModelScale = new float3(0.15f, 1, 0.15f), }, // Head new SceneOb { Mesh = sphere, Pos = new float3(0, 4.2f, 0), ModelScale = new float3(0.35f, 0.5f, 0.35f), Albedo = new float3(0.9f, 0.6f, 0.5f) }, }) }; // Set the clear color for the backbuffer RC.ClearColor = new float4(1, 1, 1, 1); }
// Init() public override void Init() { RC.ClearColor = new float4(0, 0, 0, 1); _shaderProgram = RC.CreateShader(Vs, Ps); RC.SetShader(_shaderProgram); _stereo3D = new Stereo3D(Stereo3DMode.Anaglyph, Width, Height); _stereo3D.AttachToContext(RC); _exampleLevel = new Level(RC, _shaderProgram, _stereo3D); }
public override void Init() { RC.ClearColor = new float4(0.5f, 0.5f, 0.5f, 1); // load meshes Body = MeshReader.LoadMesh(@"Assets/mageBodyOBJ.obj.model"); GloveL = MeshReader.LoadMesh(@"Assets/mageGloveLOBJ.obj.model"); GloveR = MeshReader.LoadMesh(@"Assets/mageGloveROBJ.obj.model"); // set up shader, lights and textures var spBody = RC.CreateShader(VsBump, PsBump); RC.SetShader(spBody); RC.SetLightActive(0, 1); RC.SetLightPosition(0, new float3(5.0f, 0.0f, 2.0f)); RC.SetLightAmbient(0, new float4(0.2f, 0.2f, 0.2f, 1.0f)); RC.SetLightSpecular(0, new float4(0.1f, 0.1f, 0.1f, 1.0f)); RC.SetLightDiffuse(0, new float4(0.8f, 0.8f, 0.8f, 1.0f)); RC.SetLightDirection(0, new float3(-1.0f, 0.0f, 0.0f)); RC.SetLightActive(1, 1); RC.SetLightPosition(1, new float3(-5.0f, 0.0f, 2.0f)); RC.SetLightAmbient(1, new float4(0.5f, 0.5f, 0.5f, 1.0f)); RC.SetLightSpecular(1, new float4(0.1f, 0.1f, 0.1f, 1.0f)); RC.SetLightDiffuse(1, new float4(1.0f, 1.0f, 1.0f, 1.0f)); RC.SetLightDirection(1, new float3(1.0f, 0.0f, 0.0f)); _texture1ParamBody = spBody.GetShaderParam("texture1"); _texture2ParamBody = spBody.GetShaderParam("normalTex"); _specularLevelBody = spBody.GetShaderParam("specularLevel"); var imgDataGlove = RC.LoadImage("Assets/HandAOMap.jpg"); var imgData2Glove = RC.LoadImage("Assets/HandschuhNormalMap.jpg"); _iTexGlove = RC.CreateTexture(imgDataGlove); _iTex2Glove = RC.CreateTexture(imgData2Glove); var imgData = RC.LoadImage("Assets/TextureAtlas.jpg"); var imgData2 = RC.LoadImage("Assets/TextureAtlasNormal.jpg"); _iTex = RC.CreateTexture(imgData); _iTex2 = RC.CreateTexture(imgData2); // misc settings _angleHorz = 0; _angleVert = 0; _rotationSpeed = 1.5f; }
// RenderAFrame is called once a frame public override void RenderAFrame() { // Clear the backbuffer RC.Clear(ClearFlags.Color | ClearFlags.Depth); RC.SetShader(RC.CreateShader(_vertexShader, _pixelShader)); RC.Render(_mesh); RC.SetShader(RC.CreateShader(_vertexShader, _pixelShader2)); RC.Render(_mesh2); // Swap buffers: Show the contents of the backbuffer (containing the currently rerndered farame) on the front buffer. Present(); }
// Init is called on startup. public override void Init() { _mesh = new Mesh { Vertices = new[] { new float3(-0.5f, -0.5f, -0.5f), new float3(0.5f, -0.5f, -0.5f), new float3(0.5f, 0.5f, -0.5f), new float3(-0.5f, 0.5f, -0.5f), new float3(0.5f, -0.5f, 0.5f), new float3(-0.5f, -0.5f, 0.5f), new float3(-0.5f, 0.5f, 0.5f), new float3(0.5f, 0.5f, 0.5f), new float3(0, 1, 0), }, Triangles = new ushort[] { 0, 1, 2, // Front 1 0, 2, 3, // Front 2 1, 4, 7, // Right 1 1, 7, 2, // Right 2 4, 5, 6, // Back 1 4, 6, 7, // Back 2 5, 0, 3, // Left 1 5, 3, 6, // Left 2 3, 2, 8, // Top Front 2, 7, 8, // Top Right 7, 6, 8, // Top Back 6, 3, 8, // Top Left }, }; var shader = RC.CreateShader(VertexShader, PixelShader); RC.SetShader(shader); _mouseParam = RC.GetShaderParam(shader, "mousepos"); _mousePosition = new float2(0, 0); _alphaParam = RC.GetShaderParam(shader, "alpha"); _alpha = 0; // Set the clear color for the backbuffer. RC.ClearColor = new float4(0.1f, 0.3f, 0.2f, 1); }
// Init is called on startup. public override void Init() { _mesh = new Mesh { Vertices = new[] { new float3(-0.5f, -0.5f, -0.5f), new float3(0.5f, -0.5f, -0.5f), new float3(0.5f, 0.5f, -0.5f), new float3(-0.5f, 0.5f, -0.5f), new float3(0.5f, -0.5f, 0.5f), new float3(-0.5f, -0.5f, 0.5f), new float3(-0.5f, 0.5f, 0.5f), new float3(0.5f, 0.5f, 0.5f), new float3(0, 1, 0) }, Triangles = new ushort[] { 0, 1, 2, 0, 2, 3, 1, 4, 7, 1, 7, 2, 4, 5, 6, 4, 6, 7, 5, 0, 3, 5, 3, 6, 3, 2, 8, 2, 7, 8, 7, 6, 8, 6, 3, 8 }, }; var shader = RC.CreateShader(_vertexShader, _pixelShader); RC.SetShader(shader); _mouseParam = RC.GetShaderParam(shader, "mauspos"); _mouse = new float2(0, 0); _alphaParam = RC.GetShaderParam(shader, "alpha"); _alpha = 0; // Set the clear color for the backbuffer. RC.ClearColor = new float4(0.1f, 0.3f, 0.2f, 1); }
// Init is called on startup. public override void Init() { _mesh = new Mesh { Vertices = new[] { new float3(-0.75f, -0.75f, 0), new float3(0.75f, -0.75f, 0), new float3(0, 0.75f, 0), }, Triangles = new ushort[] { 0, 1, 2 }, }; var shader = RC.CreateShader(_vertexShader, _pixelShader); RC.SetShader(shader); // Set the clear color for the backbuffer to light green. RC.ClearColor = new float4(0.5f, 1, 0.7f, 1); }
// Init is called on startup. public override void Init() { _mesh = CreateCylinder(); Container <int> meinContainer = new Container <int>(); for (int i = 0; i < 1000; i++) { meinContainer.PutElement(1000 * 5 - i); } var shader = RC.CreateShader(_vertexShader, _pixelShader); RC.SetShader(shader); _xformParam = RC.GetShaderParam(shader, "xform"); _xform = float4x4.Identity; // Set the clear color for the backbuffer RC.ClearColor = new float4(0.1f, 0.3f, 0.2f, 1); }
// Init is called on startup. public override void Init() { _mesh = new Mesh { Vertices = new[] { // left, down, front vertex new float3(-1, -1, -1), // 0 - belongs to left new float3(-1, -1, -1), // 1 - belongs to down new float3(-1, -1, -1), // 2 - belongs to front // left, down, back vertex new float3(-1, -1, 1), // 3 - belongs to left new float3(-1, -1, 1), // 4 - belongs to down new float3(-1, -1, 1), // 5 - belongs to back // left, up, front vertex new float3(-1, 1, -1), // 6 - belongs to left new float3(-1, 1, -1), // 7 - belongs to up new float3(-1, 1, -1), // 8 - belongs to front // left, up, back vertex new float3(-1, 1, 1), // 9 - belongs to left new float3(-1, 1, 1), // 10 - belongs to up new float3(-1, 1, 1), // 11 - belongs to back // right, down, front vertex new float3(1, -1, -1), // 12 - belongs to right new float3(1, -1, -1), // 13 - belongs to down new float3(1, -1, -1), // 14 - belongs to front // right, down, back vertex new float3(1, -1, 1), // 15 - belongs to right new float3(1, -1, 1), // 16 - belongs to down new float3(1, -1, 1), // 17 - belongs to back // right, up, front vertex new float3(1, 1, -1), // 18 - belongs to right new float3(1, 1, -1), // 19 - belongs to up new float3(1, 1, -1), // 20 - belongs to front // right, up, back vertex new float3(1, 1, 1), // 21 - belongs to right new float3(1, 1, 1), // 22 - belongs to up new float3(1, 1, 1), // 23 - belongs to back }, Normals = new[] { // left, down, front vertex new float3(-1, 0, 0), // 0 - belongs to left new float3(0, -1, 0), // 1 - belongs to down new float3(0, 0, -1), // 2 - belongs to front // left, down, back vertex new float3(-1, 0, 0), // 3 - belongs to left new float3(0, -1, 0), // 4 - belongs to down new float3(0, 0, 1), // 5 - belongs to back // left, up, front vertex new float3(-1, 0, 0), // 6 - belongs to left new float3(0, 1, 0), // 7 - belongs to up new float3(0, 0, -1), // 8 - belongs to front // left, up, back vertex new float3(-1, 0, 0), // 9 - belongs to left new float3(0, 1, 0), // 10 - belongs to up new float3(0, 0, 1), // 11 - belongs to back // right, down, front vertex new float3(1, 0, 0), // 12 - belongs to right new float3(0, -1, 0), // 13 - belongs to down new float3(0, 0, -1), // 14 - belongs to front // right, down, back vertex new float3(1, 0, 0), // 15 - belongs to right new float3(0, -1, 0), // 16 - belongs to down new float3(0, 0, 1), // 17 - belongs to back // right, up, front vertex new float3(1, 0, 0), // 18 - belongs to right new float3(0, 1, 0), // 19 - belongs to up new float3(0, 0, -1), // 20 - belongs to front // right, up, back vertex new float3(1, 0, 0), // 21 - belongs to right new float3(0, 1, 0), // 22 - belongs to up new float3(0, 0, 1), // 23 - belongs to back }, Triangles = new ushort[] { 0, 6, 3, 3, 6, 9, // left 2, 14, 20, 2, 20, 8, // front 12, 15, 18, 15, 21, 18, // right 5, 11, 17, 17, 11, 23, // back 7, 22, 10, 7, 19, 22, // top 1, 4, 16, 1, 16, 13, // bottom }, }; var shader = RC.CreateShader(_vertexShader, _pixelShader); RC.SetShader(shader); _xformParam = RC.GetShaderParam(shader, "xform"); _xform = float4x4.Identity; // Set the clear color for the backbuffer RC.ClearColor = new float4(0.1f, 0.3f, 0.2f, 1); }
// Init is called on startup. public override void Init() { // Load some meshes Mesh cone = LoadMesh("Cone.fus"); Mesh cube = LoadMesh("Cube.fus"); Mesh cylinder = LoadMesh("Cylinder.fus"); Mesh pyramid = LoadMesh("Pyramid.fus"); Mesh sphere = LoadMesh("Sphere.fus"); SceneItem si1 = new Transform { Pos = new float3(1, 2, 3) }; SceneItem si2 = new Geometry { Mesh = cylinder }; si1.Render(RC); // Initialize the shader(s) var shader = RC.CreateShader(_vertexShader, _pixelShader); RC.SetShader(shader); _albedoParam = RC.GetShaderParam(shader, "albedo"); // Setup a list of objects _root = new SceneOb { Children = new List <SceneOb>(new [] { // Body new SceneOb { Mesh = cube, Pos = new float3(0, 2.75f, 0), ModelScale = new float3(0.5f, 1, 0.25f), }, // Legs new SceneOb { Mesh = cylinder, Pos = new float3(-0.25f, 1, 0), ModelScale = new float3(0.15f, 1, 0.15f), }, new SceneOb { Mesh = cylinder, Pos = new float3(0.25f, 1, 0), ModelScale = new float3(0.15f, 1, 0.15f), }, // Shoulders new SceneOb { Mesh = sphere, Pos = new float3(-0.75f, 3.5f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), }, new SceneOb { Mesh = sphere, Pos = new float3(0.75f, 3.5f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), }, // Arms new SceneOb { Mesh = cylinder, Pos = new float3(-0.75f, 2.5f, 0), ModelScale = new float3(0.15f, 1, 0.15f), }, new SceneOb { Mesh = cylinder, Pos = new float3(0.75f, 2.5f, 0), ModelScale = new float3(0.15f, 1, 0.15f), }, // Head new SceneOb { Mesh = sphere, Pos = new float3(0, 4.2f, 0), ModelScale = new float3(0.35f, 0.5f, 0.35f), Albedo = new float3(0.9f, 0.6f, 0.5f) }, }) }; // Set the clear color for the backbuffer RC.ClearColor = new float4(1, 1, 1, 1); }
// Init is called on startup. public override void Init() { // Load some meshes Mesh cone = LoadMesh("Cone.fus"); Mesh cube = LoadMesh("Cube.fus"); Mesh cylinder = LoadMesh("Cylinder.fus"); Mesh pyramid = LoadMesh("Pyramid.fus"); Mesh sphere = LoadMesh("Sphere.fus"); // Initialize the shader(s) var shader = RC.CreateShader(_vertexShader, _pixelShader); RC.SetShader(shader); _albedoParam = RC.GetShaderParam(shader, "albedo"); object o1 = new Group { Children = new List <SceneItem>(new SceneItem[] { new Transform { Pos = new float3(0, 2.75f, 0), Scale = new float3(0.5f, 1, 0.25f) }, new Geometry { Mesh = cube } }) }; object o2 = new Transform { Pos = new float3(0, 2.75f, 0), Scale = new float3(0.5f, 1, 0.25f) }; object o3 = new float3(22, 33, 44); /* * InspectType(o1.GetType()); * InspectType(o2.GetType()); * InspectType(o3.GetType()); * * CheckObject(o1); * CheckObject(o2); * CheckObject(o3); * * /// * Assembly asm = Assembly.Load("Fusee.Math.Core"); * Type[] types = asm.GetTypes(); * foreach (var type in types) * { * InspectType(type); * } * /// */ // Setup a list of objects _root = new Group() { Children = new List <SceneItem>(new SceneItem[] { new Material { Albedo = new float3(0.2f, 0.9f, 0.1f), AlbedoParam = _albedoParam }, // Body new Group { Children = new List <SceneItem>(new SceneItem[] { new Transform { Pos = new float3(0, 2.75f, 0), Scale = new float3(0.5f, 1, 0.25f) }, new Geometry { Mesh = cube } }) }, // Legs new Group { Children = new List <SceneItem>(new SceneItem[] { new Transform { Pos = new float3(-0.25f, 1, 0), Scale = new float3(0.15f, 1, 0.15f) }, new Geometry { Mesh = cylinder } }) }, new Group { Children = new List <SceneItem>(new SceneItem[] { new Transform { Pos = new float3(0.25f, 1, 0), Scale = new float3(0.15f, 1, 0.15f), }, new Geometry { Mesh = cylinder } }) }, }) }; // Set the clear color for the backbuffer RC.ClearColor = new float4(1, 1, 1, 1); }
// Init is called on startup. public override void Init() { // Initialize the shader(s) var shader = RC.CreateShader(_vertexShader, _pixelShader); RC.SetShader(shader); _albedoParam = RC.GetShaderParam(shader, "albedo"); // Load some meshes Mesh cone = LoadMesh("Cone.fus"); Mesh cube = LoadMesh("Cube.fus"); Mesh cylinder = LoadMesh("Cylinder.fus"); Mesh pyramid = LoadMesh("Pyramid.fus"); Mesh sphere = LoadMesh("Sphere.fus"); // Setup a list of objects _root = new SceneOb { name = "root" }; // Add Body _root.Children.Add(new SceneOb { Mesh = cube, Albedo = new float3(0, 0, 0), Pos = new float3(0, 2.75f, 0), ModelScale = new float3(0.5f, 1, 0.25f), name = "body" }); // Add Legs _root.Children.Add(new SceneOb { Mesh = cylinder, Albedo = new float3(0, 0, 0), Pos = new float3(-0.25f, 1, 0), ModelScale = new float3(0.15f, 0.75f, 0.15f), name = "rightupperleg" }); FindSceneOb(_root, "rightupperleg").Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(1, 0.5f, 0), Pos = new float3(0, -0.75f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), name = "rightknee" }); FindSceneOb(_root, "rightknee").Children.Add(new SceneOb { Mesh = cylinder, Albedo = new float3(0, 0, 0), Pos = new float3(0, -0.5f, 0), ModelScale = new float3(0.15f, 0.5f, 0.15f), name = "rightlowerleg" }); FindSceneOb(_root, "rightlowerleg").Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(1, 0.5f, 0), Pos = new float3(0, -0.70f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), name = "rightfoot" }); _root.Children.Add(new SceneOb { Mesh = cylinder, Albedo = new float3(0, 0, 0), Pos = new float3(0.25f, 1, 0), Pivot = new float3(0, 0.75f, 0), ModelScale = new float3(0.15f, 0.75f, 0.15f), name = "leftupperleg" }); FindSceneOb(_root, "leftupperleg").Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(1, 0.5f, 0), Pos = new float3(0, -0.75f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), name = "leftknee" }); FindSceneOb(_root, "leftknee").Children.Add(new SceneOb { Mesh = cylinder, Albedo = new float3(0, 0, 0), Pos = new float3(0, -0.5f, 0), ModelScale = new float3(0.15f, 0.5f, 0.15f), name = "leftlowerleg" }); FindSceneOb(_root, "leftlowerleg").Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(1, 0.5f, 0), Pos = new float3(0, -0.70f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), name = "leftfoot" }); // Add Arms _root.Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(1, 0.5f, 0), Pos = new float3(-0.75f, 3.5f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), name = "rightshoulder" }); FindSceneOb(_root, "rightshoulder").Children.Add(new SceneOb { Mesh = cylinder, Albedo = new float3(0, 0, 0), Pos = new float3(0, -0.5f, 0), ModelScale = new float3(0.15f, 0.5f, 0.15f), name = "rightupperarm" }); FindSceneOb(_root, "rightupperarm").Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(1, 0.5f, 0), Pos = new float3(0, -0.5f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), name = "rightellbow" }); FindSceneOb(_root, "rightellbow").Children.Add(new SceneOb { Mesh = cylinder, Albedo = new float3(0, 0, 0), Pos = new float3(0, -0.5f, 0), ModelScale = new float3(0.15f, 0.5f, 0.15f), name = "rightlowerarm" }); FindSceneOb(_root, "rightlowerarm").Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(1, 0.5f, 0), Pos = new float3(0, -0.5f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), name = "rightwrist" }); _root.Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(1, 0.5f, 0), Pos = new float3(0.75f, 3.5f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), name = "leftshoulder" }); FindSceneOb(_root, "leftshoulder").Children.Add(new SceneOb { Mesh = cylinder, Albedo = new float3(0, 0, 0), Pos = new float3(0, -0.5f, 0), ModelScale = new float3(0.15f, 0.5f, 0.15f), name = "leftupperarm" }); FindSceneOb(_root, "leftupperarm").Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(1, 0.5f, 0), Pos = new float3(0, -0.5f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), name = "leftellbow" }); FindSceneOb(_root, "leftellbow").Children.Add(new SceneOb { Mesh = cylinder, Albedo = new float3(0, 0, 0), Pos = new float3(0, -0.5f, 0), ModelScale = new float3(0.15f, 0.5f, 0.15f), name = "leftlowerarm" }); FindSceneOb(_root, "leftlowerarm").Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(1, 0.5f, 0), Pos = new float3(0, -0.5f, 0), ModelScale = new float3(0.25f, 0.25f, 0.25f), name = "leftwrist" }); // Add Head _root.Children.Add(new SceneOb { Mesh = sphere, Albedo = new float3(0, 1, 0), Pos = new float3(0, 4.2f, 0), ModelScale = new float3(0.35f, 0.5f, 0.35f), name = "head" }); // Set the clear color for the backbuffer RC.ClearColor = new float4(1, 1, 1, 1); }
// is called on startup public override void Init() { RC.ClearColor = new float4(0.2f, 0.2f, 0.2f, 1); _smokeTexture = RC.CreateShader(_smokeEmitter.VsSimpleTexture, _smokeEmitter.PsSimpleTexture); _fireRedTexture = RC.CreateShader(_fireRedEmitter.VsSimpleTexture, _fireRedEmitter.PsSimpleTexture); _fireYellowTexture = RC.CreateShader(_fireYellowEmitter.VsSimpleTexture, _fireYellowEmitter.PsSimpleTexture); _starTexture = RC.CreateShader(_starEmitter.VsSimpleTexture, _starEmitter.PsSimpleTexture); _smokeParam = _smokeTexture.GetShaderParam("texture1"); _fireRedParam = _fireRedTexture.GetShaderParam("texture1"); _fireYellowParam = _fireYellowTexture.GetShaderParam("texture1"); _starParam = _starTexture.GetShaderParam("texture1"); // load texture var imgSmokeData = RC.LoadImage("Assets/smoke_particle.png"); var imgFireRedData = RC.LoadImage("Assets/fireRed.png"); var imgFireYellowData = RC.LoadImage("Assets/fireYellowTexture.png"); var imgStarData = RC.LoadImage("Assets/star.png"); _iSmoke = RC.CreateTexture(imgSmokeData); _iFireRed = RC.CreateTexture(imgFireRedData); _iFireYellow = RC.CreateTexture(imgFireYellowData); _iStar = RC.CreateTexture(imgStarData); RC.SetRenderState(new RenderStateSet { ZEnable = false, AlphaBlendEnable = true, BlendOperation = BlendOperation.Add, SourceBlend = Blend.SourceAlpha, DestinationBlend = Blend.InverseSourceAlpha }); // GUIHandler _guiHandler = new GUIHandler(); _guiHandler.AttachToContext(RC); // font + text _guiFontCabin18 = RC.LoadFont("Assets/Cabin.ttf", 18); _guiFontCabin24 = RC.LoadFont("Assets/Cabin.ttf", 24); _guiText = new GUIText("Fusee3D Particle System ", _guiFontCabin24, 510, 35); _guiText.TextColor = new float4(1, 1, 1, 1); _guiHandler.Add(_guiText); // panel _guiPanel = new GUIPanel("Menu", _guiFontCabin18, 10, 10, 150, 150); _guiHandler.Add(_guiPanel); // Example 1 button _guiExampleOneButton = new GUIButton("Fog", _guiFontCabin18, 25, 40, 100, 25); _guiExampleOneButton.OnGUIButtonDown += OnMenuButtonDown; _guiExampleOneButton.OnGUIButtonUp += OnMenuButtonUp; _guiExampleOneButton.OnGUIButtonEnter += OnMenuButtonEnter; _guiExampleOneButton.OnGUIButtonLeave += OnMenuButtonLeave; _guiPanel.ChildElements.Add(_guiExampleOneButton); // Example 2 button _guiExampleTwoButton = new GUIButton("Fire", _guiFontCabin18, 25, 70, 100, 25); _guiExampleTwoButton.OnGUIButtonDown += OnMenuButtonDown; _guiExampleTwoButton.OnGUIButtonUp += OnMenuButtonUp; _guiExampleTwoButton.OnGUIButtonEnter += OnMenuButtonEnter; _guiExampleTwoButton.OnGUIButtonLeave += OnMenuButtonLeave; _guiPanel.ChildElements.Add(_guiExampleTwoButton); // Example 2 button _guiExampleThreeButton = new GUIButton("Stars", _guiFontCabin18, 25, 100, 100, 25); _guiExampleThreeButton.OnGUIButtonDown += OnMenuButtonDown; _guiExampleThreeButton.OnGUIButtonUp += OnMenuButtonUp; _guiExampleThreeButton.OnGUIButtonEnter += OnMenuButtonEnter; _guiExampleThreeButton.OnGUIButtonLeave += OnMenuButtonLeave; _guiPanel.ChildElements.Add(_guiExampleThreeButton); }