gbuffer 프레임 버퍼를 디버그하려고합니다. 나는 RGB 구성 요소를 쉽게 blit 할 수 있었지만 혼합하지 않고 alpha 구성 요소를 디버깅 할 수 있도록 alpha를 red 또는 rgb로 그레이 스케일로 다시 매핑하려고합니다. 이것을 할 수있는 방법이 있습니까? 미리 감사드립니다!OPENGL : blit을 사용하여 알파를 빨간색 채널로 옮길 수 있나요?
답변
단순히 단일 색상 채널을 표시하려면 glColorMask
이면 충분합니다.
glColorMask(GL_TRUE, GL_FALSE, GL_FALSE, GL_FALSE);
당신이 다음 쉐이더를 통해 모든 실행, 그레이 스케일 효과를 2 개 색상 채널을 전환하거나 적용하려면 아마 가장 쉬운 방법입니다 방법 : 프레임 버퍼를 블리트의 그래서 instread
uniform sampler2D frame;
in vec2 uv;
out vec4 fragColor;
void main()
{
vec4 color = texture(frame, uv);
// Grayscale
color.rgb = vec3((color.r + color.g + color.b) * 0.33);
// Switch red and alpha channels
color.ra = color.ar;
fragColor = color;
}
, 당신은 바인딩 텍스처와 프레임 버퍼와 전체 화면 쿼드을 그립니다.
감사, Vallentin! 채널을 바꾸는 다른 방법은 없지만? 가능하다면 오버 헤드를 최소화하고 싶습니다. 명령을 사용하는 것이 좋을 것 같습니다. –
@KarimAbdelHamid 내가 기억하는 한, 존재하지 않는다. 또한 blitting은 전체 스크린 쿼드를 그리는 것보다 빠르지 만 느려질 수 있습니다. 그래서 평소에 그 일을하는 것이 낫습니다. 결론은 실제로 벤치 마크가되고 실제 성능에 문제가있는 경우입니다. – Vallentin
쿼드 루트로 가기로 결심했습니다. 감사! –
- 1. OpenGL 혼합 기능을 사용하여 RBG/알파를 무시합니까?
- 2. alpha 채널로 렌더링하도록 direct3d에 알릴 수 있습니까?
- 3. OpenAL을 사용하여 특정 채널로 재생
- 4. OpenGL : 대상 알파를 변경하지 않고 RGBA-> RGBA 블리 팅
- 5. uislider를 사용하여 uitextview에서 알파를 제어하십시오.
- 6. 레이블을 옮길 수 없습니다.
- 7. Graphics2D는 알파를 사용할 수 없습니까?
- 8. UIViewPropertyAnimator를 사용하여 UIView의 알파를 애니메이션하기
- 9. matplotlib 애니메이션 플롯은 blit을 사용하여 축에서 라벨을 업데이트하지 않습니다.
- 10. Xcode : 코어 이미지를 사용하여 알파를 사용하여 합성
- 11. OpenGL ES 1.1을 사용하여 멀티 텍스쳐를 적용 할 때 텍스처의 RGB 채널을 알파 채널로 사용하는 방법이 있습니까?
- 12. Tone.js를 사용하여 오디오를 별도의 채널로 분할 할 수 없음
- 13. arraylist에서 아이템을 옮길 수 있습니다.
- 14. 휴지통으로 항목을 옮길 수 없습니다
- 15. Tkinter에서 위젯을 옮길 수 없습니다.
- 16. libgdx OrthographicCamera를 옮길 수 없습니다.
- 17. /tmp/hsperfdata_hadoop을 옮길 수 없습니다
- 18. Excel 리본을 옮길 수 있습니까?
- 19. telegram-cli를 사용하여 터미널에서 그룹/채널로 메시지를 보내는 방법은 무엇입니까?
- 20. 3 채널로 매트를 초기화하는 방법
- 21. 하나의 비트 맵을 사용하여 알파를 그릴 수 있습니까?
- 22. 다른 채널에 영향을 미치지 않고 색상 채널로 렌더링
- 23. 핸들러에서 채널로 메시지 롤백
- 24. 아파치 사육사를 메시지 채널로 사용할 수 있습니까?
- 25. as3 트위터를 사용하여 페이드 알파를 지우기
- 26. OpenGL 텍스처링은 텍스처의 빨간색 구성 요소 만 표시합니다.
- 27. 알파 채널로 그라디언트 밴딩
- 28. 동시에지도 엔트리를 채널로 읽어들입니다.
- 29. QOpenGLTexture에서 알파를 사용하여 텍스처를 만드는 방법
- 30. Processing.org 스케치의 포인트에 알파를 적용 할 수 없습니다.
알파를 읽을 수없는 이유가 있습니까? –
@ Nicol 제 질문은 알파를 다른 채널로 옮기는 것에 관한 것입니다. RGB에 대한 값을 갖고 있다면 알파 채널을 사용하여 해독 할 수 있습니다. –