当前位置: 首页 > news >正文

哪个网站名片做的号wordpress提取公众号文章

哪个网站名片做的号,wordpress提取公众号文章,邢台专业网站建设源码,如何免费建设自己稳定的网站HLSL High Level Shader Language 高级着色语言,是Direct3D中用来编写Shader的语言。其语法类似于C语言。 虽然其主要作用是用来编写例如顶点着色器,像素着色器。但本质是对图形并行管线进行编程,因此也能用来编写用于计算的着色器&#xff…

HLSL High Level Shader Language 高级着色语言,是Direct3D中用来编写Shader的语言。其语法类似于C语言。

虽然其主要作用是用来编写例如顶点着色器,像素着色器。但本质是对图形并行管线进行编程,因此也能用来编写用于计算的着色器,甚至AI相关的计算。但是微软提供了更方便的DirectML框架专门用于机器学习编程框架。

在学习HLSL之前需要对DirectX3D拥有一定知识,因为对于HLSL整个生命周期例如创建,编译,优化,绑定,链接等,都和DirectX3D紧密相关。

使用HLSL的流程

HLSL也是一种高级语言。在编写完源文件.hlsl之后,需要将其通过D3DCompileFromFile或者D3DCompile函数编译成DXBC(DirectX Bytecode),这是一种更接近于硬件操作描述的面向HW的中间语言,如下

dcl_input v0.xyz
dcl_input v1.xy

然后再将包含DXBC的ID3DBlob接口绑定到PipelineState中。之后在Vertex和Pixel阶段

这里以D3DCompileFromFile为例说一下参数的意义。下面是每个参数的含义:

D3DCompileFromFile(_In_ LPCWSTR pFileName, // 着色器code的路径_In_reads_opt_(_Inexpressible_(pDefines->Name != NULL)) CONST D3D_SHADER_MACRO* pDefines, // 编译时定义的宏_In_opt_ ID3DInclude* pInclude, // 指定include处理其,通常设置为D3D_COMPILE_STANDARD_FILE_INCLUDE_In_ LPCSTR pEntrypoint,    // 该着色器的入口函数_In_ LPCSTR pTarget,        // 指定该shader的目标profile_In_ UINT Flags1,   // 编译选项,例如检验选项,调试选项_In_ UINT Flags2,   // 效果文件选项,Shader设置为0_Out_ ID3DBlob** ppCode, // 存贮编译完成的DXBC_Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorMsgs); // 输出的错误信息

基础语法

HLSL语法类似于C语言,比方定义变量,表达式,调用函数等都和C一样,也有一些独特的语法例如定义结构体

struct VS_INPUT
{float4 Position : POSITION; // 模型顶点位置
};

定义函数

float4 PSMain(PSInput input) : SV_TARGET
{return input.color;
}

后面会跟上: SV_TARGET或者: POSITION。其为语义(semantic),表明了该变量的用途和存储位置。

也有其独特的语法结构,例如定义Constant Buffer.

cbuffer SceneConstantBuffer : register(b0)
{float4 offset;float4 padding[15];
};

表示定义一块在register b0上的constant buffer,名为SceneConstantBuffer。

语法为

BufferType [Name] [: register(b#)] { VariableDeclaration [: packoffset(c#.xyzw)]; ... };

有两种Buffer, Constant Buffer和Texture Buffer。顾名思义前者是变量,后者用于保存纹理。通常常量缓冲区对CPU访问有优化。每个常量缓冲区可以容纳多达4096个向量;每个向量包含多达四个32位值。每个管道阶段可以绑定多达14个常量缓冲区(另外两个插槽保留用于内部使用)。

对于任意索引的数据,纹理访问(与缓冲区访问相比)可以具有更好的性能。每个管道阶段可以绑定多达128个纹理缓冲区。

当CPU需要访问缓冲区是需要进行map.如m_constantBuffer->Map(...)。

同时,需要讲创建好的常量缓冲区资源通过CreateConstantBufferView将该常亮对象绑定到HLSL上。

http://www.yayakq.cn/news/177334/

相关文章:

  • 海通建设集团有限公司网站广西住房和城乡建设厅官方网站
  • 求个网站好人有好报百度贴吧广州做手机网站咨询
  • 网站如何做seo排名想学做电商怎么加入
  • 怎么免费建公司网站网络营销实验网站建设心得
  • 四川手机网站建设wordpress 纯静态插件
  • 马鞍山钢铁建设集团有限公司网站音乐中文网站模板下载
  • 做网站要学会那些网站开发哪个城市发展好
  • 专业沈阳网站制作天元建设集团有限公司商业承兑汇票信誉怎么样
  • 做没用的网站wordpress如何发布
  • 淘宝网站建设与经营论文网站开发z亿玛酷1专注
  • 企业如何利用互联网开展营销网站建设制作设计seo优化湖南
  • 备案网站ip地址notefolio设计官网
  • 东莞市官网网站建设哪家好网站搭建免费
  • 网站开发外包方案wordpress更换主题显示不出来
  • php网站开发培训产品设计排名
  • 怎么看网站用什么平台做的eclipse wordpress
  • 怎样看网站有没有做301wordpress采集图片不显示
  • 出格网站建设哪里有好包装设计公司
  • 用php做购物网站视频如何做网站图片
  • 网站没有备案信息该怎么做做智能网站
  • 在学做网站还不知道买什么好资源软件下载网站免费
  • 动漫做暧视频网站前端开发学习网站
  • 沈阳网站建设设计h5免费网站设计
  • 做网站时怎么选择数据库类型百度权重等级
  • 国内做的好的网站wordpress自动发布源码
  • 网络类黄页长沙网站seo收费
  • 赣州网站建设方案access做网站服务器
  • 免费头像生成制作网站企业网站建设到底应该注意什么
  • 手机网站定制 杭州超凡网络网站
  • 相馆网站建设费用预算wordpress主题使用