마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

opengl es 2.0 질문입니다. [closed]

0 추천

안녕하세요. 안드로이드에서 GLES20을 가지고 OBJ위에 텍스트를 띄울려고 하는데요

여기서 OBJ는 마야에서 3d 모델링은 한 오브젝트고 따로 텍스쳐는 없습니다. 그래서 프래그먼트 셰이더에서는 그냥 gl_FragColor = 컬러로 쓰는데,

텍스트를 띄울라고 텍스쳐를 사용해야 하더라고요. 그래서 새로운 셰이더를 정의해서 새로운 프로그램에 올려서 오브젝트 위에 텍스트가 그려지게 하려고 하는데 이런식으로 하는게 맞나요? 그리고 프로그램은 한번에 하나를 사용해야하나요? 만약에 

GLES20.glUseProgram(1stProgram); 

이 프로그램을 쓰다가 그냥

GLES20.glUseProgram(2ndProgram);

이렇게 다른 프로그램을 불러와서 바로 사용할 수 있는 가요.

아니면 처음부터 둘다 사용할 수도 있는 건가요?

 

 

 

 

질문을 종료한 이유: 자력해결
원펀치맨 (2,860 포인트) 님이 2018년 4월 25일 질문
원펀치맨님이 2018년 4월 30일 closed
해결했습니다. 셰이더에서 gl_FragColor로
vec4 textCol = vCol + mix(vec4(1.0), text, 1.0) 넣어줬습니다.
그 이후엔 계속 캔버스 배경을 투명하게 설정해도  검은 캔버스 배경이 만들어지길래 왜 투명하게 안되나 고민 좀 해봤는데 블렌딩을 어떻게 하느냐에 다라 투명한 배경이 검은색으로 나오기도 하더군요.  아예 초짜라 하나도 모르는 상태에서 이것 저것 따라하면서 하는데 지금 문제는 텍스트를 그린 후에 다른 것을 그리려고 하면 색이 계속 흰색이 되더군요. 이건 이제 차차 해결해 나가야 할 듯합니다.

이후에 여러 텍스트를 띄우고 그 위치를 조정하기 위해서 텍스쳐를 표시할 Matrix를 원하는 translateM을 사용하여 이동시켰습니다.
...