OpenGL:Textures
텍스처에 직접 그리기
public float[] toFloatArray()
{
float[] colors = new float[(width*height)*4];
int i = 0;
for(int y = 0; y < height; ++y){
for(int x = 0; x < width; ++x){
colors[i] = (( r[x][y] * 1.0f) / 255);
colors[i+1] = (( g[x][y] * 1.0f) / 255);
colors[i+2] = (( b[x][y] * 1.0f) / 255);
colors[i+3] = (( a[x][y] * 1.0f) / 255);
i += 4;
}
}
return colors;
}
...
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_FLOAT, toFloatArray());
좀 더 빠른 방법
Pixel Buffer Object 항목 참조.
관련 상수들
- GL_MAX_TEXTURE_SIZE
- 최대 텍스처 크기 픽셀 크기가 아니라 X축, Y축 각각의 크기이다. 즉
GL_MAX_TEXTURE_SIZE * GL_MAX_TEXTURE_SIZE
크기의 픽셀 크기가 최대 픽셀 사이트가 된다. 1
See also
Favorite site
- [추천] OpenGL - Textures
- Textures - more - OpenGL Wiki
- 이재만 교수의 공간 :: 텍스처의 기본
- glTexImage2D()와 glTexStorage2D()의 차이