public override void Init() { model = ((Node)AssetManager.LoadModel(AssetManager.GetAppPath() + "\\models\\dome.obj")).GetChildGeom(0); model.Material.SetValue(Material.MATERIAL_FACETOCULL, 1); model.Material.SetValue(Material.MATERIAL_DEPTHMASK, false); model.Material.SetValue(Material.MATERIAL_DEPTHTEST, false); model.Material.Bucket = RenderManager.Bucket.Sky; model.SetShader(typeof(SkyShader)); model.SetLocalScale(new Math.Vector3f(100f)); rootNode.AddChild(model); }
static GrassPopulator() { model = ((Node)AssetManager.LoadModel(AssetManager.GetAppPath() + "\\models\\grass\\grass.obj")).GetChildGeom(0); model.Material.SetValue(Material.COLOR_DIFFUSE, new Vector4f(0.5f, 0.48f, 0.52f, 1f)); model.Material.SetValue(Material.MATERIAL_BLENDMODE, 1); model.Material.SetValue(Material.MATERIAL_CASTSHADOWS, false); model.Material.SetValue(Material.MATERIAL_ALPHADISCARD, 0.2f); model.Material.SetValue(Material.SPECULAR_EXPONENT, 60); model.Material.SetValue(Material.SHININESS, 0.1f); model.Material.SetValue(Material.ROUGHNESS, 0.0f); model.Material.SetValue(Material.MATERIAL_CULLENABLED, false); model.Material.SetValue("fade_start", 30.0f); model.Material.SetValue("fade_end", 40.0f); model.Material.Bucket = RenderManager.Bucket.Transparent; model.SetShader(typeof(GrassShader)); }
static TreePopulator() { /* tree = (Node)AssetManager.LoadModel(AssetManager.GetAppPath() + "\\models\\tree\\pine\\LoblollyPine.obj"); tree.GetChildGeom(1).Material.SetValue("tree_height", tree.GetLocalBoundingBox().Max.y); tree.GetChildGeom(1).SetShader(typeof(BarkShader)); tree.GetChildGeom(1).DepthShader = ShaderManager.GetShader(typeof(BarkShader), new ShaderProperties() .SetProperty("DEPTH", true) .SetProperty(Material.TEXTURE_DIFFUSE, true)); tree.GetChildGeom(2).Material.SetValue("tree_height", tree.GetLocalBoundingBox().Max.y); tree.GetChildGeom(2).Material.SetValue(Material.MATERIAL_BLENDMODE, 1); tree.GetChildGeom(2).Material.SetValue(Material.MATERIAL_CULLENABLED, false); tree.GetChildGeom(2).Material.SetValue(Material.MATERIAL_ALPHADISCARD, 0.7f); tree.GetChildGeom(2).Material.Bucket = Rendering.RenderManager.Bucket.Transparent; tree.GetChildGeom(2).SetShader(typeof(LeafShader)); tree.GetChildGeom(2).DepthShader = ShaderManager.GetShader(typeof(LeafShader), new ShaderProperties() .SetProperty("DEPTH", true) .SetProperty(Material.TEXTURE_DIFFUSE, true));*/ tree = new Node(); Geometry g = new Geometry(MeshFactory.CreateQuad()); g.SetLocalScale(new Vector3f(15)); g.SetLocalTranslation(new Vector3f(0, 10, 0)); g.Material.SetValue(Material.MATERIAL_CASTSHADOWS, 0); g.Material.SetValue(Material.MATERIAL_BLENDMODE, 1); g.Material.SetValue(Material.TEXTURE_DIFFUSE, AssetManager.LoadTexture(AssetManager.GetAppPath() + "\\models\\tree\\pine\\billboard.png")); g.Material.SetValue(Material.SHININESS, 0.0f); g.Material.SetValue(Material.MATERIAL_ALPHADISCARD, 0.5f); g.Material.Bucket = RenderManager.Bucket.Transparent; g.SetShader(typeof(GrassShader)); g.Material.SetValue("fade_start", 250.0f); g.Material.SetValue("fade_end", 260.0f); tree.AddChild(g); }
private void NrmGenerator_Load(object sender, EventArgs e) { Mesh quadMesh = MeshFactory.CreateQuad(); quadGeom = new Geometry(quadMesh); quadGeom.SetShader(ShaderManager.GetShader(typeof(NormalMapShader))); MtlViewerGame mtlPreview = new MtlViewerGame(); mtlPreview.Rotate = false; mtlPreview.Camera.Enabled = false; mtlPreview.Camera.Width = 256; mtlPreview.Camera.Height = 256; // mtlPreview.Camera = new ApexEngine.Rendering.Cameras.OrthoCamera(-2, 2, -2, 2, -2, 2); mtlPreview.Camera.Translation = new ApexEngine.Math.Vector3f(0, 0, -3); mtlPreview.RootNode.AddChild(quadGeom); ApexEngineControl mtlViewer = new ApexEngineControl(mtlPreview); mtlViewer.Framerate = 50; mtlViewer.Dock = DockStyle.Fill; pnlObj.Controls.Add(mtlViewer); quadGeom.Material.SetValue("delta_value", 5.0f); //mtlPreview.RenderManager.PostProcessor.PostFilters.Add(new BlurPostFilter(true)); //mtlPreview.RenderManager.PostProcessor.PostFilters.Add(new BlurPostFilter(false)); }
public static Geometry MergeGeometry(GameObject gameObject) { List<Mesh> meshes; List<Matrix4f> transforms = new List<Matrix4f>(); List<Material> materials = new List<Material>(); List<Shader> shaders = new List<Shader>(); meshes = RenderUtil.GatherMeshes(gameObject, materials, transforms, shaders); Mesh m = MergeMeshes(meshes, materials, transforms); Geometry geom = new Geometry(m); if (shaders.Count > 0) geom.SetShader(shaders[0]); if (materials.Count > 0) geom.Material = materials[0]; return geom; }