在不使用效果框架的时候,整个渲染管道其实挺简单的,创建资源,输入资源。编译着色器输入着色器,其实着色器本身也是一种数据,只不过这个数据描述的是逻辑。最后调用一下draw方法画一下就OK 了。这里说说着色器的编译和创建,很简单。
D3DX11CompileFromFile :
HRESULT D3DX11CompileFromFile(
_In_ LPCTSTR pSrcFile, // 文件路径
_In_ const D3D10_SHADER_MACRO *pDefines, // 可选,一个键值对数组,直接设置为NULL
_In_ LPD3D10INCLUDE pInclude, // 可选,这个相当于C++的include命令也是一个数组。
_In_ LPCSTR pFunctionName, // 入口方法的名字
_In_ LPCSTR pProfile, // vs_5_0
_In_ UINT Flags1, // 着色器编译标志。
_In_ UINT Flags2, // 效果编译标志。
_In_ ID3DX11ThreadPump *pPump, // 线程?
_Out_ ID3D10Blob **ppShader, // 编译后的结果
_Out_ ID3D10Blob **ppErrorMsgs, // 编译后的错误信息
_Out_ HRESULT *pHResult
);
着色器编译标志
CreateVertexShader :
HRESULT CreateVertexShader(
[in] const void *pShaderBytecode, // ID3D10Blob 编译结果
[in] SIZE_T BytecodeLength, // ID3D10Blob 的size
[in] ID3D11ClassLinkage *pClassLinkage, // ID3D10Blob 使用到的外部class,连接的数组
[out] ID3D11VertexShader **ppVertexShader // 结果
);
其他的着色器也就这样。
例子:
ID3D10Blob* errorMessage = nullptr;
ID3D10Blob* vertexShaderBuffer;
ID3D11VertexShader* vertexShader;
WCHAR* wfilename = StringUtil::StringToWchar(filename);
// 编译vs代码.
D3DX11CompileFromFile(wfilename, NULL, NULL, "ColorVertexShader", "vs_5_0", D3D10_SHADER_ENABLE_STRICTNESS, 0, NULL,
&vertexShaderBuffer, &errorMessage, NULL);
// 从缓冲创建vs shader.
result = pd3dDevice->CreateVertexShader(vertexShaderBuffer->GetBufferPointer(), vertexShaderBuffer->GetBufferSize(), NULL, &vertexShader);
分享到:
相关推荐
dx着色器反编译器DirectX 9着色器的反编译器当前,这支持反编译像素着色器和顶点着色器3_0汇编语言参考: : 机器语言参考: : 编译:fxc.exe fx_examples / PP_ColorBloomH.fx / E PostProcessPS / T ps_3_0 / Fx ...
NULL 博文链接:https://lengbingteng.iteye.com/blog/1757540
unity插件,把普通模型变为low poly风格的模型 DirectX 11 low poly shader可创建平坦着色/低聚效果。 只需将着色器应用于任何网格,它就会以最需要和艺术化的低聚风格呈现。
hge vc2010重新编译的dx9渲染引擎
Cocos2dx2.2游戏源码:奇怪大冒险,(原作熊同学) 质量很好,骨头使用vs2013和cocos2dx2.2打开即可编译运行,感谢原作者熊同学,文档参考http://blog.csdn.net/iamlazybone 相关笔记
Berry Pie渲染引擎Blackberry pie是我创建的渲染和资产管道。 也就是说,我编写了此存储库中包含的代码。 我的动机是真正推动从Artist工具到着色器和绘制调用的整个渲染流程。 这是使用DirectX 11用C ++编写的。其中...
C++11 和 DX11 教程 适用于 Unity3D/XNA/Java 游戏开发人员 这些项目是视频教程的来源。...教程 5 - 创建和加载着色器 教程 6 - 输入布局和视口 第 3 章 - 2D 精灵,输入 第 4 章 - 3D、向量和矩阵
DX8.2.3重新编译版,修正了强签名不一致,集成原版所有Tools,无须安装原版即可使用,不含DEMO
cocos2dx 编译到 android
测试出错最少的编译命令,免费下载。如果需要DX11.2.11的源码,请留言。
用DX渲染Q3 BSP场景 没有在其他的机器上试过,如果无法运行,请编译源代码,并修改加载的BSP路径。
此代码在cocos2dx2.1.4下面编译有部分错误,我修改后,正常。 下下来后,请在VC++包含目录中链接(F:\cocos2d-x-2.1.4\cocos2dx\platform\win32;F:\cocos2d-x-2.1.4\cocos2dx\platform\third_party\win32\OGLES\GL\;...
基于DirectX 11的渲染框架专为快速原型设计而设计。 一般注意事项 ... 目前只能创建 Dx11 渲染应用程序。 渲染 包含所有图形内容。 除了加载程序/保护程序之外,所有内容都与 DX11 紧密相关。 保存 DX
dx基本结构讲解,有基础的可以看一下了解下dx编程和游戏开发中的应用,dx基本结构讲解!
这个是hge1.8的dx9渲染的,添加hlsl接口可以方便实现各种特效,在tutorial07可以找到使用示例,同样采用dx9可以方便使用系统字体
实现的DX11显示接口,可以显示DX11纹理或者纹理裸数据。DX11简单的渲染管线。
OIT DX11 3D 渲染半透明效果的新算法
DX11框架 渲染斯坦福兔子的简单DirectX 11框架。 这主要是供我自己参考。 您可以按照自己的意愿进行使用。
dx11 hook无窗口硬断内部绘制骨骼(更新基址适合所有dx11游戏)
dx渲染流水线+depth in depth!!!!