⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 axis.cs

📁 功能:基于windows mobile 的地图查看器。使用vs2005开发
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;

using Microsoft.WindowsMobile.DirectX;
using Microsoft.WindowsMobile.DirectX.Direct3D;

using WorldWindow;

namespace cfWorldWind
{
	class Axis
	{
		Material axisMaterial;

		public Axis()
		{

		}

		VertexBuffer vbAxis;

		//DrawAxis
		public void InitializeAxis(Device device)
		{
			axisMaterial = new Material();
			axisMaterial.Ambient = Color.Pink;
			axisMaterial.Diffuse = Color.Pink;

			vbAxis = new VertexBuffer(typeof(CustomVertex.PositionColored), 2, device, 0, CustomVertex.PositionColored.Format, Pool.SystemMemory);
			GraphicsStream stm = vbAxis.Lock(0, 0, 0);
			CustomVertex.PositionColored[] axis = new CustomVertex.PositionColored[2];

			Vector3 topV = MathEngine.SphericalToCartesian(90, 0, Settings.Radius + 0.15f * Settings.Radius);
			axis[0].X = topV.X;
			axis[0].Y = topV.Y;
			axis[0].Z = topV.Z;

			axis[0].Color = System.Drawing.Color.Pink.ToArgb();

			Vector3 botV = MathEngine.SphericalToCartesian(-90, 0, Settings.Radius + 0.15f * Settings.Radius);
			axis[1].X = botV.X;
			axis[1].Y = botV.Y;
			axis[1].Z = botV.Z;
			axis[1].Color = System.Drawing.Color.Pink.ToArgb();

			stm.Write(axis);
			vbAxis.Unlock();
		}

		public void RenderAxis(Device device)
		{
			device.Material = axisMaterial;
			device.SetTexture(0, null);
			//device.VertexFormat = CustomVertex.PositionColored.Format;
			//device.TextureState[0].ColorOperation = TextureOperation.Disable;
			//device.DrawUserPrimitives(PrimitiveType.LineStrip, 1, axis);
			device.SetStreamSource(0, vbAxis, 0);
			device.DrawPrimitives(PrimitiveType.LineStrip, 0, 1);
		}

		public void Dispose()
		{
			if (vbAxis != null)
			{
				vbAxis.Dispose();
				vbAxis = null;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -