Marcelxx 2022-08-26 15:22
浏览 9
已结题

片段写入多个附件问题

OpenGL中,有两个颜色附件,第一个颜色附件是渲染用的,第二个颜色附件用于保存对象的ID,这样在做拾取操作的时候就会很快。
但遇到的一个问题是,因为图片有透明度,所以遇到透明的片段就需要丢弃,但是这样ID就不会保存到第二个附件中了。像这种情况该怎么处理,在片段不写入第一个附件的情况下,又将ID写入第二个附件。

#version 330 core

in vec2 TexCoord;
in vec4 TextColor;

uniform sampler2D texture1;
uniform int EnttId;

layout(location = 0) out vec4 color1;
layout(location = 1) out int  color2;

void main()
{
    color2 = EnttId;
    vec4 tmpColor = texture(texture1,TexCoord);
    color1 = vec4(TextColor.xyz,tmpColor.r);
    if(color1.a < 0.01)
    {
        discard;
    }
}


  • 写回答

1条回答 默认 最新

  • Marcelxx 2022-08-29 16:11
    关注

    有没思路啊

    评论

报告相同问题?

问题事件

  • 系统已结题 9月3日
  • 创建了问题 8月26日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?