有没有人知道是否可以使用C#从位置X上的视频(.wmv)中获取帧/图像,而无需安装DirectX并在Windows 2008上工作(我希望尽可能少地安装网络服务器).
甚至使用directx的简单解决方案也可能很好.
亨克
我需要在运行时使用C#中的Managed DirectX 制作DirectX 3D网格.我无法找到有关如何执行此操作的任何信息.
可以使用此DirectX调用获取球体
Mesh sphere = Mesh.Sphere(device, sphereRadius, sphereSlices, sphereStacks);
网格:此网格是在运行时构建的.
我需要知道的是如何制作类似的功能:
Mesh shape = MakeCustomMesh(device, vertexlist, trianglelist);
两个列表可以是任何合适的容器/格式.
如果有人能指出我管理的DirectX(C#)示例代码,即使它只是从3个硬编码三角形构建网格,这将是一个很大的好处.
如果我有一个矩阵,它是世界观投影的组合,我将它乘以投影的倒数,它会产生世界观矩阵或其他什么?如果没有,那么如何从世界视图投影矩阵中提取世界视图矩阵?
谢谢你的帮助 :)
我是编程的新手.
我想知道发布和删除功能.
当我用new分配内存时,我应该用delete来终止它.
但是当我应该使用释放?
释放和删除有什么区别......?
这个问题可能看起来很简单,但我无法找到HLSL如何处理自己的坐标系.
我只想知道位于(0,0)的位置(左上角或左下角),因为我是这些着色器概念的初学者,我无法自己扣除它
谢谢你的帮助!
我试图在输入汇编器设置为三角形条带的情况下创建这个2D三角形:
1.(0.0f, 0.0f, 0.5f)
2.(-0.5f, 0.0f, 0.5f)
3.(-0.5f, -0.5f, 0.5f)
Run Code Online (Sandbox Code Playgroud)
但是,没有绘制三角形,实际上渲染目标上没有绘制任何内容,甚至没有绘制单行.我搞砸周围,然后我换坐标2和3,和它的工作.正如我想要的那样绘制三角形.这种奇怪行为的原因是什么?
我对directX并不是很了解,但我会尽力解释.首先,我有多个模型对象(带顶点数据的自定义对象).目前,我的代码(见下文)可以使用该模型的vertexBuffer和indexBuffer在场景中渲染单个模型.我想做的是给出一系列模型.在一个场景中渲染它们.这是我目前的代码:
private void Render()
{
device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.White, 1.0f, 0);
device.BeginScene();
float x = (float)Math.Cos(0);
float z = (float)Math.Sin(0);
device.Transform.Projection = Matrix.PerspectiveFovLH((float)Math.PI / 4, this.Width / this.Height, 1f, 50f);
device.Transform.View = Matrix.LookAtLH(new Vector3(x, 6, z), new Vector3(0, 0, 0), new Vector3(0, 1, 0));
device.RenderState.Lighting = true;
device.Lights[0].Type = LightType.Directional;
device.Lights[0].Diffuse = Color.White;
device.Lights[0].Direction = new Vector3(-x, -6, -z);
device.Lights[0].Position = new Vector3(x, 6, z);
device.Lights[0].Enabled = true;
device.Transform.World = model.transform;
device.VertexFormat = CustomVertex.PositionNormalColored.Format;
device.SetStreamSource(0, vertexBuffer, 0);
device.Indices = indexBuffer; …Run Code Online (Sandbox Code Playgroud) 从directx 10到11有什么变化?我已经在directx 10中编写了一些代码,我想将其更改为directx 11.这仅仅是关于质量而我只能通过更改headrs和dll文件或函数以及编码方式来改变它吗?ING.
我仍在使用我自己的自定义游戏引擎开发我的科幻视频游戏.现在,我想在我的游戏和引擎中实现战斗系统.虽然几乎所有东西都很清楚,但我想知道如何制作合适的激光束,如星球大战,星际迷航,巴比伦5等等.
我做了一些在线研究,但是我找不到合适的文章.我很确定我搜索了错误的关键字/标签.你能给我一些提示如何实现激光束等效果吗?我想,了解我在线研究所需的正确技术或术语就足够了......
我正在使用桌面复制将屏幕内容复制到内存中的位图.我接收桌面纹理,然后创建一个分段纹理,用于CopyResource将桌面纹理复制到分段纹理,最后调用ID3D11DeviceContext::Map访问分段纹理位并复制它们.几乎与此处描述的方式相同:https://stackoverflow.com/a/27283837/825318
问题是Map呼叫需要花费大量时间 - 对于像4K这样的大显示分辨率,每次呼叫可能需要100毫秒,这是不可接受的高,因为我需要确保30 fps的速度.
有没有办法让纹理的内容更快?如果没有,有没有办法提供我自己的映射地址指针,以便系统复制纹理数据?谢谢