繁体   English   中英

是否可以仅在片段着色器中创建纹理?

[英]Is it possible to create a texture only in Fragment shader?

我有一个2遍渲染管道-延迟阴影-用于点云渲染。 (GLSL 4.30&c ++ 17)

着色器管道:

Pointloud.vertex-> Pointcloud.fragment-> FullscreenQuad.vertex-> Deferred.fragment

我要实现的是从Pointloud.vertex-> Pointcloud.fragment状态收集一些数据,并将其作为纹理发送到Deferred.fragment着色器。

诸如 Vertex_ID,Frag-Coord.z和纹理坐标之类的数据(在Pointloud.vertex部分中可用)

基本上,我想在Pointcloud.fragment shader中创建2个纹理,在给定的纹理坐标位置上存储dept信息,在另一个纹理中将顶点ID存储在同一坐标上。

是否可以在着色器中本地创建和写入纹理? 重要的是要解决此问题而不影响c ++。

着色器无法分配纹理和缓冲区等资源。 他们可以使用资源,但不能随意创建资源。 您必须在应用程序中创建任何此类资源。 如果您没有能力修改应用程序的代码,则无需执行任何操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM