美文网首页
使用Dx11渲染纹理3——渲染矩形

使用Dx11渲染纹理3——渲染矩形

作者: 上官宏竹 | 来源:发表于2022-01-12 16:48 被阅读0次

渲染矩形

渲染矩形只需要将顶点及顶点索引做修改,建立两个三角形,并且修改图元拓扑为:IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST),其余在渲染三角形的基础上即可完成。

顶点坐标系
// 1. 顶点集合  
VertexType vertexs1[] = {
    //    顶点   |     颜色
    {-1.0f, -1.0f, 0.0f, 0.0f, 1.0f},   // 左下角
    {1.0f, 1.0f, 0.0f, 1.0f, 0.0f},     // 右上角
    {1.0f, -1.0f, 0.0f, 1.0f, 1.0f},    // 右下角
    {-1.0f, 1.0f, 0.0f, 0.0f, 0.0f}     // 左上角
};

// 2. 顶点索引集合
unsigned int indices[] = {
    0, 1, 2,    // 第一个三角形(左下顶点起顺时针)
    0, 3, 1     // 第二个三角形
};

常量缓存

多个常量缓存使用,可参考:Direct3D 11教程7:纹理映射和常量缓存

着色器增加头文件编译

将通用着色器里的结构体定义在一个头文件中,然后在着色器中include引用它。
需要注意,应该使用如下的着色器编译方法:

D3DCompileFromFile(vsFilename, NULL, D3D_COMPILE_STANDARD_FILE_INCLUDE,
    "ColorVsMain",  // 着色器入口函数 
    "vs_5_0", 
    D3D10_SHADER_ENABLE_STRICTNESS, 
    0,
    &m_vertexShaderBuffer, &errorMessage);

第三个参数修改为D3D_COMPILE_STANDARD_FILE_INCLUDE。该字段用于决定如何处理包含文件,会按照当前着色器代码的相对路径搜索对应的头文件并包含进来。
如果将第三个参数默认设置为nullptr,则编译着色器时会报错:error X1505: No include handler specified, can't perform a #include. Use D3DX APIs or provide your own include handler.

完整代码见:使用git log可以查看渲染矩形的过程

相关文章

  • 使用Dx11渲染纹理3——渲染矩形

    渲染矩形 渲染矩形只需要将顶点及顶点索引做修改,建立两个三角形,并且修改图元拓扑为:IASetPrimitiveT...

  • 使用Dx11渲染纹理4——渲染纹理

    渲染纹理过程 其余过程与渲染三角形一致,如下是多的操作步骤: 编写着色器具体见下[着色器]一节。 创建纹理使用Cr...

  • 使用OpenGL绘制一个地球

    一、程序简介 本项目使用 OpenGL 实现了球型3D模型的生成和渲染;进行了纹理贴图,同时使用了多个纹理,渲染了...

  • 使用Dx11渲染纹理1——初始化

    新建Windows窗口工程 使用VS2019工程创建一个默认的窗口工程。 创建交换链和设备及上下文 添加头文件和依...

  • 使用Dx11渲染纹理2——渲染三角形

    渲染管线(Pipeline) Input-Assember Stage 输入装配阶段输入:顶点缓存、顶点索引缓存输...

  • 贴图的种类以及相关属性

    一般的贴图又称纹理贴图,是早期渲染工程师为了处理顶点渲染以及差值渲染所引起 的视觉误差而使用的位图影像。纹理通常含...

  • DX 多线程渲染

    DX11多线程渲染 1、DirectX从 DirectX 11 开始正式支持在多线程中调用 Direct3D* (...

  • 纹理渲染

    直线 起点 终点。对于rgb 每一个像素点都要描述出来 纹理 起点在哪 终点在哪 中间描述如何渐变 纹理渲染 ...

  • OpenGL ES 分屏滤镜

    分屏滤镜的实现(分屏算法):主要渲染区域与纹理坐标映射对应关系。解析案例中2、3、4、6、9分屏中纹理坐标与渲染区...

  • 【Unity Shader入门精要学习】高级纹理(三)

    渲染纹理 现代的GPU允许把整个三维场景渲染到一个中间缓冲中,即渲染目标纹理(Render Target Text...

网友评论

      本文标题:使用Dx11渲染纹理3——渲染矩形

      本文链接:https://www.haomeiwen.com/subject/likyqrtx.html