摘要:
学习SDK,在d3d11中进行简单的三角形绘制,以此熟悉Direct11的绘制流程。此文参考上一篇的Directx11的基本Demo。相对Directx11的basic demo,在Directx11中绘制一个三角形,初始化的工作主要是在InitDevice()中1:创建一个顶点着色器Vertex Shader;2:描述我们自己的顶点格式D3D11_INPUT_ELEMENT_DESC;3:创建像素着色器Pixel Shader;4:描述,创建存储我们要绘制的顶点的buffer并绑定其到pipeline。 然后在Render部分1:指定我们要调用的像素着色器和顶点着色器;2:调用Draw()。 阅读全文
摘要:
HLSL基本以C语言的习惯来写的,但是如果完全以C语言的角度来看,我个人感觉入门最难理解就是顶点着色器和像素着色器的两个函数的参数传递了。下面以最简单的HLSL中效果框架举例说下自己的理解。uniform extern float4x4 gWVP;struct OutputVS{ float4 posH : POSITION0; float4 color : COLOR0;};OutputVS ColorVS(float3 posL : POSITION0, float4 c : COLOR0){ // Zero out our output.OutputVS outVS = (Outpu.. 阅读全文
摘要:
这些天终于受不了诱惑,决定入手Directx11,看了下一个最basic 的demo,总结下自己的理解。先看看整体框架:所有函数的声明。可以看到和D3d9c差不多,都是初始化窗口,创建设备,清理设备,消息循环和渲染。下面我们将看到发生变化的主要是创建设备的InitDevice()函数,其他都是些MFC框架。HRESULT InitWindow( HINSTANCE hInstance, int nCmdShow );HRESULT InitDevice();void CleanupDevice();LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, L. 阅读全文
摘要:
从小就感觉自己的逻辑思维比空间想象思维要强,但是现在居然来做图形学,蛮有意思的。下午就在纠结这样一句话:三维观察流水线中,场景构造完成的第一步是将对象描述从世界坐标系变换到观察坐标系中。等价于将观察坐标系叠加到世界坐标系的一连串变换。恩恩,记下来。 阅读全文
摘要:
终于下定决心记录下自己的学习过程了。不总结下很多东西就忘记了。 阅读全文