vulkan - 不使用基于推送常量的顶点属性
问题描述
我有一个 GLSL 顶点着色器,其中一个属性仅在设置推送常量时使用:
layout(location = 0) in ivec2 a_pos;
layout(location = 1) in ivec2 a_nrm;
layout(location = 2) in float a_Height;
void main()
{
<...>
float Offset = ( u_enabling_flag > 0.0 ) ? a_Height : 0.0;
< some calculation involving Offset >
我收到以下验证错误:
vkDebug:验证:0:验证错误:[UNASSIGNED-CoreValidation-Shader-InputNotProduced] 对象 0:句柄 = 0x3a000000003a,类型 = VK_OBJECT_TYPE_SHADER_MODULE;| 消息 ID = 0x23e43bb7 | 顶点着色器使用位置 2 的输入但未提供
图形输出看起来不错,但是否有可能摆脱错误?
问候。
解决方案
图形输出看起来不错,但是否有可能摆脱错误?
“顶点着色器在位置 2 使用输入但未提供”
从着色器中移除位置 2 的输入,或在该位置附加缓冲区绑定。
推荐阅读
- postgresql - PostgreSQL - 使用多个子查询优化查询
- azure-devops - 如何编辑 azure devops 构建管道的 yaml 路径?
- python-3.x - 在终端中使用 Pygame 播放多线程音乐
- javascript - 在 Vue 组件中渲染本地图像,其中图像位置存储在数据属性中
- reactjs - 如何在不重新渲染组件的情况下更新反应状态?
- javascript - 由于“未定义不是函数”未填充函数,简单的 babel.js 独立测试在 Chrome v40 中不起作用
- sql - 拦截查询oracle数据库11g(电子商务套件)
- c# - 序列化 C# 不可变结构的最佳实践是什么?
- c# - 带有 ASP.NET 的 Google 日历 API
- android - 本机模块中的异常,FirebaseAuth 解析失败