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

opengl 질문있습니다.

0 추천

안드로이드에서 기본 예제소스에서 삼각형을그리고

그밑에 텍스쳐를 입혔더니 삼각형의 색깔이달라지네요 삼각형에 아무런 색깔을 안입혀서 하얀색으로

나왔었는데. 텍스쳐만 입히면 삼각형까지 붉은색으로 나오네요 

 

drawS (텍스쳐소스)

	void draw(GL10 gl) {
		gl.glFrontFace(GL10.GL_CW);
		gl.glVertexPointer(3, GL10.GL_FLOAT, 0, mVertexBuffer);
		gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, textureBuffer);
		gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
		gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
		gl.glDrawElements(GL10.GL_TRIANGLE_STRIP, index.length, GL10.GL_UNSIGNED_SHORT, indexBuffer);
		gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);     
		gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
		gl.glColor4f(0, 0, 0, 0);
		
	}
	
	public drawS() {
		textureName = new int[1];
		mVertexBuffer = getFloatBufferFromFloatArray(vertices);
		indexBuffer = getByteBufferFromByteArray(index);
		textureBuffer = getFloatBufferFromFloatArray(texture);
	}
	
	public void InitTexture(GL10 gl, Context context) {
		Bitmap start = BitmapFactory.decodeResource(context.getResources(), R.drawable.starts);
		gl.glGenTextures(1, textureName, 0);                    // 텍스쳐 포인터 설정
		gl.glBindTexture(GL10.GL_TEXTURE_2D, textureName[0]);   // 텍스쳐 사용 연결
		gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST);
		gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);
		GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, start, 0);
		start.recycle();

	}

 

naiad (430 포인트) 님이 2014년 4월 11일 질문

1개의 답변

0 추천
오픈 지엘은 RGBA 이고 안드로이드는 ARGB 형식을 사용해서 아닐까 싶습니다
익명사용자 님이 2015년 3월 19일 답변
...