달력

12

« 2017/12 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
  •  

'OpenGL ES'에 해당되는 글 1

  1. 2012.10.03 Shader 코드 내부 변수의 Precision
2012.10.03 18:08

Shader 코드 내부 변수의 Precision 2012/OpenGL2012.10.03 18:08

갤럭시 s2에서 OpenGL ES 2.0으로 영상처리 코드 구현중에 gl_FragCoord와 Viewport 사이즈를 이용해서 처리할 일이 생겼는데, 쉐이더 코드 내에서 대용량의 이미지를 처리할 경우에 연산 결과를 임시로 저장해야 할 필요가 있었다. 


근데 스펙상 precision을 mediump로 할 경우, float 의 크기가 고작 2^15 까지밖에 저장을 못하게 되어있다. 물론 highp로 precision을 높여도 되지만 여러가지 실험 결과, 갤럭시 s2의 OpenGL ES 의 스펙이 highp를 지원하지 않는 걸로 생각된다. 

크로노스의 스펙 문서에서도 highp 의 구현은 optional 로 지정되어 있으니 아마도 highp가 자동으로 downsizing 이 된게 아닌가 싶다.

 

문제는 컴파일은 이상없이 된다는 점이다. 그러다가 다른 오류 때문에 컴파일이 안될 경우 나오는 오류 메시지에

highp가 지원되지 않는다는 문구가 떡하니 포함되게 된다... 참으로 골때리는 NDK..


그러나 정작 해결은 전혀 엉뚱한 곳에서 됐으니.... 무려 2주간을 삽질로 날리는 결과 ㅠ 



저작자 표시
신고
TAG
Posted by 에어림