DirectX11学习笔记三:绘图基础

本文介绍了DirectX11中的绘图基础,包括Vertex Shader和Pixel Shader的工作原理,常量缓冲区的使用,Effect框架的应用以及输入布局的设置。讲解了HLSL语言的基本概念,强调了Shader在渲染管线中的角色,同时阐述了如何在C++中管理和更新Shader数据。
摘要由CSDN通过智能技术生成
 DirectX的一大特色之一便是Shader渲染,包括顶点Shader渲染以及像素Shader渲染。设置Shader机制是为了使程
序员能够控制GPU绘制顶点或像素的方式,简单的说,我们设计的Shader代码是运行在GPU硬件中的,这样提高了渲
染效率。上篇幅简要简绍了下DirectX管线渲染的基本步骤,本篇幅从绘制基本的正方体开始详细描述绘制过程。

 

1,Vertex Shader

    struct VertexIn  
    {  
        float3  pos     : POSITION;  
        float4  color   : COLOR;  
    };  

    Vertex Shader是对模型的每一个顶点进行操作加工的代码,所以输入输出自然都是一个顶点结构数据。

    上图的float3和float4是HLSL内置类型。

   级着色器语言(High Level Shader Language,简称HLSL),由微软拥有及开发的一种语言,HLSL 独立的工作在 Windows 平台上,只能供微软的Direct3D使用。 HLSL是微软抗衡GLSL的产品,同时不能与OpenGL标准兼容。他跟Nvidia的Cg非常相似。 HLSL的主要作用为将一些复杂的图像处理,快速而又有效率地在显示卡上完成,与组合式或低阶Shader Language相比,能降低在编写复杂特殊效果时所发生编程错误的机会。 HLSL已经整合到了 DirectX 9中。

   HLSL我会在后面专门写一篇笔记学习

    POSITION和COLOR分别对应顶点的坐标以及颜色向量,这两个声明是在C++语言中设置输入布局InputLayout内容设定的

   

    struct VertexOut  
    {  
       float4 posH : SV_POSITION;  
       float4 color : COLOR;  
    };  

    SV_POSITION是默认固定的系统值,不得改变,其他可以为 任意设定值,因为顶点输出需要内存对齐,所以输出的顶点是经过矩阵计算后得出的float4格式的值,一般为(x,y,z,w)w表示其缩放值,一般为1.

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值