public void DrawBox(Device d3ddevice, EditorCamera cam) { if (!enabled || !drawCube) { return; } BoundingSphere gizmoSphere = new BoundingSphere() { Center = new Vertex(affectedPoint.X, affectedPoint.Y, affectedPoint.Z), Radius = handleSize }; MatrixStack transform = new MatrixStack(); transform.Push(); transform.TranslateLocal(affectedPoint.X, affectedPoint.Y, affectedPoint.Z); transform.ScaleLocal(handleSize, handleSize, handleSize); RenderInfo boxRenderInfo = new RenderInfo(Gizmo.BoxMesh, 0, transform.Top, Gizmo.StandardMaterial, BoxTexture, FillMode.Solid, gizmoSphere); RenderInfo.Draw(new List <RenderInfo>() { boxRenderInfo }, d3ddevice, cam); transform.Pop(); }
public override void Render(Device dev, EditorCamera cam) { if (texs_main == null) { texs_main = ObjectHelper.GetTextures("WINDY_BACK", texlist_main, dev); } if (texs_clouds == null) { texs_clouds = ObjectHelper.GetTextures("WINDY_BACK", texlist_clouds, dev); } List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); dev.SetRenderState(RenderState.ZWriteEnable, true); transform.Push(); transform.NJTranslate(cam.Position.X, 0, cam.Position.Z); transform.NJScale(1.4f, 1.4f, 1.4f); // Bottom transform.Push(); transform.NJScale(1.25f, 1.0f, 1.25f); transform.NJTranslate(0, models[2].Position.Y, 0); result.AddRange(models[2].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_main, meshes[2], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); // Main skybox result.AddRange(models[0].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_main, meshes[0], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); // Clouds transform.Push(); transform.NJTranslate(0, models[1].Position.Y, 0); result.AddRange(models[1].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_clouds, meshes[1], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); Texture[] texs = ObjectHelper.GetTextures(texname); // Sky transform.Push(); transform.NJTranslate(0.0f, -4000.0f, 0.0f); transform.NJScale(Skybox_Scale); result.AddRange(skytop.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, skytopmesh, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); // Bottom cloud 1 transform.Push(); transform.NJTranslate(0.0f, -4000.0f, 0.0f); transform.NJScale(24.0f, 1.0f, 26.0f); result.AddRange(skybottom.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, skybottommesh, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); // Bottom cloud 2 transform.Push(); transform.NJTranslate(0.0f, -2000.0f, 0.0f); transform.NJScale(24.0f, 1.0f, 26.0f); result.AddRange(skybottom.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, skybottommesh, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); // Egg Carrier transform.Push(); carriermdl.ProcessTransforms(transform); carriermdl.ProcessVertexData(); dev.SetRenderState(RenderState.ZWriteEnable, true); result.AddRange(carriermdl.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("SHOOTING0"), carriermesh, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting, boundsByMesh: true)); transform.Pop(); RenderInfo.Draw(result, dev, cam, true); }
public override void Render(Device dev, EditorCamera cam) { switch (Act) { case 0: texs_bg = ObjectHelper.GetTextures("MR_SKY02"); break; case 1: texs_bg = ObjectHelper.GetTextures("MR_SKY00"); break; case 2: texs_bg = ObjectHelper.GetTextures("MR_SKY00"); break; } List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position.X, 0, cam.Position.Z); transform.NJScale(2.0f, 2.0f, 2.0f); transform.NJScale(Skybox_Scale); result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_bg, meshes, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { float x, y, z; switch (Act) { case 0: default: x = 0; y = 600; z = 2500; break; case 1: x = 0; y = 1050; z = -2500; break; case 2: x = 0; y = 750; z = 0; break; } NJS_OBJECT modelSky = (timeOfDay != 0 && Act != 2) ? modelsDark[0] : modelsNormal[0]; NJS_OBJECT modelBottom = (timeOfDay != 0 && Act != 2) ? modelsDark[1] : modelsNormal[1]; Mesh[] meshSky = (timeOfDay != 0 && Act != 2) ? meshesDark[0] : meshesNormal[0]; Mesh[] meshBottom = (timeOfDay != 0 && Act != 2) ? meshesDark[1] : meshesNormal[1]; texs = ObjectHelper.GetTextures("OBJ_SKYDECK"); List <RenderInfo> result1 = new List <RenderInfo>(); List <RenderInfo> result2 = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(x, y, z); transform.NJScale(1.7f, 1.0f, 1.7f); transform.NJScale(Skybox_Scale); result1.AddRange(modelSky.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshSky, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); RenderInfo.Draw(result1, dev, cam); dev.SetRenderState(RenderState.ZWriteEnable, true); transform.NJScale(1.0f, 1.0f, 1.0f); result2.AddRange(modelBottom.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshBottom, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.NJTranslate(0.0f, -100.0f, 0.0f); result2.AddRange(modelBottom.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshBottom, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); if (timeOfDay != 0 && Act != 2) { transform.NJTranslate(0.0f, -600.0f, 0.0f); transform.NJScale(Skybox_Scale); result2.AddRange(modelBottom.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshBottom, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.NJScale(1.0f, 1.0f, 1.0f); transform.NJTranslate(0.0f, -100.0f, 0.0f); result2.AddRange(modelBottom.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshBottom, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); } transform.Pop(); RenderInfo.Draw(result2, dev, cam); }
/// <summary> /// Draws the gizmo onscreen. /// </summary> /// <param name="d3ddevice"></param> /// <param name="cam"></param> public void Draw(Device d3ddevice, EditorCamera cam) { d3ddevice.SetRenderState(RenderState.ZEnable, true); d3ddevice.BeginScene(); RenderInfo.Draw(Render(d3ddevice, new MatrixStack(), cam), d3ddevice, cam); d3ddevice.EndScene(); //all drawings before this line }
public override void Render(Device dev, EditorCamera cam) { List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); Texture[] texs = ObjectHelper.GetTextures("SHOOTING0"); result.AddRange(carriermdl.DrawModelTree(dev, transform, texs, carriermesh)); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); dev.SetRenderState(RenderState.ZWriteEnable, true); result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("CHAOS4_OBJECT"), mesh, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void RenderLate(Device dev, EditorCamera cam) { List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); texs = ObjectHelper.GetTextures("OBJ_CHAOS7"); transform.Push(); result.AddRange(models[1].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes[1], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { texs = ObjectHelper.GetTextures("BG_SHAREOBJ"); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position); transform.NJScale(Skybox_Scale); RenderInfo.Draw(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting), dev, cam); transform.Pop(); }
public override void Render(Device dev, EditorCamera cam) { texs1 = ObjectHelper.GetTextures("bgtex17"); List <RenderInfo> result1 = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position.X, -886.5248f, cam.Position.Z); transform.NJScale(Skybox_Scale); result1.AddRange(model1.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs1, mesh1, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); RenderInfo.Draw(result1, dev, cam); }
private void RenderEggCarrierSkyClear(Device dev, EditorCamera cam) { List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position.X, 0, cam.Position.Z); transform.NJScale(Skybox_Scale); result.AddRange(model3.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("EC_SEA"), mesh3, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.NJScale(1.0f, 1.0f, 1.0f); transform.Pop(); RenderInfo.Draw(result, dev, cam); }
/// <summary> /// Draws the gizmo onscreen. /// </summary> /// <param name="d3ddevice"></param> /// <param name="cam"></param> public void Draw(Device d3ddevice, EditorCamera cam) { if ((affectedPoint == null) || (!enabled)) { return; } d3ddevice.SetRenderState(RenderState.ZEnable, true); d3ddevice.BeginScene(); RenderInfo.Draw(Render(d3ddevice, new MatrixStack(), cam), d3ddevice, cam); d3ddevice.EndScene(); //all drawings before this line }
public override void Render(Device dev, EditorCamera cam) { List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position.X, 0, cam.Position.Z); transform.NJScale(Skybox_Scale); Texture[] texs = ObjectHelper.GetTextures("BG_BEACH"); result.AddRange(model1.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, mesh1)); result.AddRange(model2.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, mesh2)); transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void RenderLate(Device dev, EditorCamera cam) { switch (Act) { case 0: default: return; case 1: texs_ocean = ObjectHelper.GetTextures("PAST01"); break; case 2: texs_ocean = ObjectHelper.GetTextures("PAST02"); break; } List <RenderInfo> result3 = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); dev.SetRenderState(RenderState.ZWriteEnable, false); for (int o = 0; o < SADXOceanData.WaterSurfaces.Count; o++) { SADXOceanData.WaterSurfaceData water = SADXOceanData.WaterSurfaces[o]; transform.Push(); transform.NJTranslate(water.Center); transform.Push(); for (int i = 0; i < water.WrapX; i++) { for (int z = 0; z < water.WrapZ; z++) { result3.Add(new RenderInfo(water.Meshes[z], 0, transform.Top, SADXOceanData.Material, texs_ocean?[water.TextureWaves], dev.GetRenderState <FillMode>(RenderState.FillMode), water.Bounds)); } transform.NJTranslate(water.WrapXZ, 0, 0); } transform.Pop(); transform.Push(); transform.NJTranslate(0, 1, 0); for (int i = 0; i < water.WrapX; i++) { for (int z = 0; z < water.WrapZ; z++) { result3.Add(new RenderInfo(water.Meshes[z], 0, transform.Top, SADXOceanData.Material, texs_ocean?[water.TextureSea], dev.GetRenderState <FillMode>(RenderState.FillMode), water.Bounds)); } transform.NJTranslate(water.WrapXZ, 0, 0); } transform.Pop(); transform.Pop(); } RenderInfo.Draw(result3, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); Texture[] texs = ObjectHelper.GetTextures("WINDY_BACK2"); for (int i = 0; i < 3; i++) { result.AddRange(models[i].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes[i])); } transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { dev.SetRenderState(RenderState.ZWriteEnable, true); MatrixStack transform = new MatrixStack(); texs_bg = ObjectHelper.GetTextures("E101R_BG"); List <RenderInfo> result = new List <RenderInfo>(); transform.Push(); transform.NJTranslate(cam.Position.X, 0, cam.Position.Z); result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_bg, meshes, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { if (NoRender) { return; } MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position); transform.NJScale(Skybox_Scale); RenderInfo.Draw(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("BG_SHAREOBJ"), meshes), dev, cam); transform.Pop(); }
public override void Render(Device dev, EditorCamera cam) { List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); Texture[] texs = ObjectHelper.GetTextures("SHOOTING0"); carriermdl.ProcessTransforms(transform); carriermdl.ProcessVertexData(); dev.SetRenderState(RenderState.ZWriteEnable, true); // Z write is disabled for skybox by default result.AddRange(carriermdl.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, carriermesh, boundsByMesh: true)); transform.Pop(); RenderInfo.Draw(result, dev, cam, true); }
public override void Render(Device dev, EditorCamera cam) { texs_bg = ObjectHelper.GetTextures("SS_BG"); texs_advss03 = ObjectHelper.GetTextures("ADVSS03"); texs_advss04 = ObjectHelper.GetTextures("ADVSS04"); List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position.X, 0, cam.Position.Z); transform.NJScale(Skybox_Scale); result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_bg, meshes, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { texs = ObjectHelper.GetTextures("WINDY_BACK3"); List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position); transform.NJScale(Skybox_Scale); for (int i = 0; i < 4; i++) { result.AddRange(models[i].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes[i], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); } transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position.X, 0, cam.Position.Z); transform.NJScale(Skybox_Scale); Texture[] texs = ObjectHelper.GetTextures("WINDY_BACK"); for (int i = 0; i < 5; i++) { result.AddRange(models[i].DrawModelTree(dev, transform, texs, meshes[i])); } transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { if (model == null) { return; } texs = ObjectHelper.GetTextures("MR_SKY0" + Act.ToString()); List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position.X, 0, cam.Position.Z); transform.NJScale(Skybox_Scale); result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { texs_bg_beach = ObjectHelper.GetTextures("BG_BEACH"); texs_obj_beach = ObjectHelper.GetTextures("OBJ_BEACH"); List <RenderInfo> result1 = new List <RenderInfo>(); List <RenderInfo> result2 = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); // Part 1 - skybox (no Z Write) transform.Push(); transform.NJTranslate(cam.Position.X, 0, cam.Position.Z); transform.NJScale(Skybox_Scale); result1.AddRange(model1.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_bg_beach, mesh1, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); result1.AddRange(model2.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_bg_beach, mesh2, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); RenderInfo.Draw(result1, dev, cam); // Bridge in Act 1 if (Act == 0) { dev.SetRenderState(RenderState.ZWriteEnable, true); transform.Push(); // Main part 1 transform.NJTranslate(2803.0f, -1.0f, 365.0f); result2.AddRange(modelbridge.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_obj_beach, meshbridge, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); // Repeated parts transform.NJTranslate(75.0f, 9.5f, 0.0f); for (int i = 0; i < 25; i++) { // 1 transform.NJTranslate(20.0f, 0.0f, 0.0f); result2.AddRange(modelbridge2.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_obj_beach, meshbridge2, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); // 2 transform.NJTranslate(20.0f, 0.0f, 0.0f); result2.AddRange(modelbridge3.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_obj_beach, meshbridge3, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); } // Small chunk transform.NJTranslate(20.0f, 0.0f, 0.0f); result2.AddRange(modelbridge2.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_obj_beach, meshbridge2, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); // Main part 2 transform.NJTranslate(95.0f, -9.5f, 0.0f); // Y is 0.0 in original code at 0x501AD6, no idea why result2.AddRange(modelbridge4.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_obj_beach, meshbridge4, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); RenderInfo.Draw(result2, dev, cam); } }
private void RenderEggCarrierSkyCloud(Device dev, EditorCamera cam, float yPos) { List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); dev.SetRenderState(RenderState.ZWriteEnable, true); dev.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha); dev.SetRenderState(RenderState.DestinationBlend, Blend.One); transform.NJTranslate(cam.Position.X, yPos, cam.Position.Z); transform.NJScale(3.0f, 1.0f, 3.0f); transform.NJScale(Skybox_Scale); result.AddRange(model2.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("EC_SKY"), mesh2, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.NJScale(1.0f, 1.0f, 1.0f); dev.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha); dev.SetRenderState(RenderState.DestinationBlend, Blend.InverseSourceAlpha); transform.Pop(); RenderInfo.Draw(result, dev, cam); }
private void RenderWater(Device dev, EditorCamera cam) { Texture[] texs_ocean; dev.SetRenderState(RenderState.ZWriteEnable, true); if (!IsMRGarden) { texs_ocean = ObjectHelper.GetTextures("GARDEN00SSOBJ"); } else { texs_ocean = ObjectHelper.GetTextures("GARDEN02MR_DAYTIME"); if (texs_ocean == null) { texs_ocean = ObjectHelper.GetTextures("GARDEN02MR_EVENING"); } if (texs_ocean == null) { texs_ocean = ObjectHelper.GetTextures("GARDEN02MR_NIGHT"); } } List <RenderInfo> result3 = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); for (int o = 0; o < SADXOceanData.WaterSurfaces.Count; o++) { SADXOceanData.WaterSurfaceData water = SADXOceanData.WaterSurfaces[o]; transform.Push(); transform.NJTranslate(water.Center); transform.Push(); transform.NJTranslate(0, -1, 0); for (int i = 0; i < water.WrapX; i++) { for (int z = 0; z < water.WrapZ; z++) { result3.Add(new RenderInfo(water.Meshes[z], 0, transform.Top, SADXOceanData.Material, texs_ocean?[water.TextureSea], dev.GetRenderState <FillMode>(RenderState.FillMode), water.Bounds)); } transform.NJTranslate(water.WrapXZ, 0, 0); } transform.Pop(); transform.Pop(); } RenderInfo.Draw(result3, dev, cam); }
public override void RenderLate(Device dev, EditorCamera cam) { if (TimeOfDay != 0 || Act > 2) { return; } Texture[] texs_ocean = ObjectHelper.GetTextures("ADV_EC0" + Act.ToString()); List <RenderInfo> result3 = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); for (int o = 0; o < SADXOceanData.WaterSurfaces.Count; o++) { SADXOceanData.WaterSurfaceData water = SADXOceanData.WaterSurfaces[o]; transform.Push(); transform.NJTranslate(cam.Position.X, 0, cam.Position.Z); transform.NJScale(2.0f, 1.0f, 2.0f); transform.NJTranslate(water.Center); transform.Push(); for (int i = 0; i < water.WrapX; i++) { for (int z = 0; z < water.WrapZ; z++) { result3.Add(new RenderInfo(water.Meshes[z], 0, transform.Top, SADXOceanData.Material, texs_ocean?[water.TextureWaves], dev.GetRenderState <FillMode>(RenderState.FillMode), water.Bounds)); } transform.NJTranslate(water.WrapXZ, 0, 0); } transform.Pop(); transform.Push(); transform.NJTranslate(0, 1, 0); for (int i = 0; i < water.WrapX; i++) { for (int z = 0; z < water.WrapZ; z++) { result3.Add(new RenderInfo(water.Meshes[z], 0, transform.Top, SADXOceanData.Material, texs_ocean?[water.TextureSea], dev.GetRenderState <FillMode>(RenderState.FillMode), water.Bounds)); } transform.NJTranslate(water.WrapXZ, 0, 0); } transform.Pop(); transform.Pop(); } RenderInfo.Draw(result3, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { float x; float y; float z; texs = ObjectHelper.GetTextures("OBJ_MOUNTAIN"); List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); switch (Act) { case 0: default: x = 0; y = 0; z = 0; break; case 1: x = -500.0f; y = 700.0f; z = 3000.0f; break; case 2: x = 0; y = 0; z = 100; break; } transform.NJTranslate(x, y, z); transform.NJScale(Skybox_Scale); for (int i = 0; i < 4; i++) { result.AddRange(models[i].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes[i], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); } transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { if (Act == 1 || Act == 3) { return; } texs = ObjectHelper.GetTextures("BG_ICECAP"); List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position.X, cam.Position.Y, cam.Position.Z); switch (Act) { case 0: default: for (int i = 0; i < 3; i++) { result.AddRange(models[i].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes[i], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); } break; case 2: transform.NJScale(Skybox_Scale); if (cam.Position.Y > -4000.0f || cam.Position.Y < -18500.0f) { for (int i = 0; i < 2; i++) { result.AddRange(models[i].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes[i], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); } if (cam.Position.Y > -4000.0f) { transform.NJRotateY(0xC000); result.AddRange(models[2].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes[2], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); } } break; } transform.Pop(); RenderInfo.Draw(result, dev, cam); }
public override void Render(Device dev, EditorCamera cam) { if (texs_sora62 == null) { texs_sora62 = ObjectHelper.GetTextures("WINDY_BACK3", texlist_sora62, dev); } if (texs_sora96 == null) { texs_sora96 = ObjectHelper.GetTextures("WINDY_BACK3", texlist_sora96, dev); } List <RenderInfo> result = new List <RenderInfo>(); MatrixStack transform = new MatrixStack(); transform.Push(); transform.NJTranslate(cam.Position); result.AddRange(models[0].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_sora96, meshes[0], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); result.AddRange(models[1].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_sora62, meshes[1], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); result.AddRange(models[2].DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs_sora62, meshes[2], EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting)); transform.Pop(); RenderInfo.Draw(result, dev, cam); }