DirectX11渲染过程

网易作业deadline!!!要凉了555

对DirectX初始化完成后,就可以进行渲染了。

1.创建顶点着色器vertex_shader:顶点着色器负责接收顶点数据(位置信息、颜色信息等等)。shader编程使用的是HLSL语言,具体上就是告诉程序数据的格式。如下一个例子。

struct VS_INPUT        //输入数据的格式
{
	float2 inPos : POSITION;
	float3 inColor : COLOR;
};

struct VS_OUTPUT       //输出数据的格式
{
	float4 outPos : SV_POSITION;
	float3 outColor : COLOR;
};

VS_OUTPUT main(VS_INPUT input)
{
	VS_OUTPUT output;
	output.outPos = float4(input.inPos,0.0f,1.0f);
	output.outColor = input.inColor;
	return output;
}

编译之后生成cso文件,使用readfiletoblob函数将文件的数据读入blob中,也可以不预先编译直接使用函数D3DCompileFromFile编译产生blob,之后使用creatvertexshader进行创建顶点着色器即可。

之后再使用该blob创建输入布局,告诉程序数据是以这种格式输入的。

所以生成的顶点着色器cso文件有两个用处:1.创建顶点着色器。2.创建输入布局。

创建布局时要先对布局进行描述。例如:

D3D11_INPUT_ELEMENT_DESC inputDesc[] =
	{
		{"POSITION",0,DXGI_FORMAT_
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值