Jan*_*man 17 c# directx 3d graphics
我想学习为Windows 7 /桌面制作简单的3D应用程序.就此而言,我指的是在3D空间中移动的球体,三角形或像素.它还不一定非常复杂.为此,我想在.NET中使用C#语言(Java/C++是我的第二优先).
我知道这已经多次被问到互联网,但我觉得很多问题已经过时,许多API已被弃用,教程太旧了.
我正在考虑学习XNA,但后来我了解到微软不再计划开发和支持它了.SharpDX似乎也是一个很好的方法,但这似乎是针对Windows Store和Phone应用程序.
在互联网上查看时,Managed DirectX似乎正是我所寻找的(语法,复杂性),但同样,我也不赞成使用它.
你能指导一下我应该学到什么来创建简单而坚固的3D应用程序吗?
在 OpenGL 世界中我一直在使用OpenTK。我必须在现有代码的基础上进行构建,C#才能显示没有阴影和真实效果的平面几何对象。
这是一个例子:

从代码生成:
void InitModels()
{
Scene.CoordinateSystem cs1 = new Scene.CoordinateSystem(world.Ground)
{
DrawSize = 1,
Visible = false
};
Scene.CoordinateSystem cs2 = new Scene.CoordinateSystem(world.Ground, 0.6 * vec3.J)
{
DrawSize = 0.5,
Orientation = rot3.RotateXDegrees(-15)
};
Scene.Cube cube = new Scene.Cube(cs1)
{
CubeSize = 0.5
};
cs2.AddPoint(new point3(vec3.O,1), Color.Firebrick, 15);
var line = cs2.AddLine(new line3(-vec3.I, vec3.I), 20, Color.SlateGray, 2);
line.SetPattern(0xFF0F, GeometryTest.Scene.Stripple.Scale2);
cube.BindTexture(5, GeometryTest.Properties.Resources.julia, true);
cube.AddText(3, "OpenTK 1.0", Color.DarkMagenta, 0.5f, 0.5f, 1.0f);
}
Run Code Online (Sandbox Code Playgroud)
最简单的可能是使用WPF 3D.这是一个保留模式的图形系统,所以如果你没有巨大的需求(即:特效效果着色器等),它很容易直接设置和使用.
否则,更精细的3D系统(如XNA)可能更合适.这将是更多的设置工作,但给你更多的控制.