>source

텍스처를 표시하기 위해 최신 DSA 기능을 사용하려고하는데 전혀 작동하지 않습니다.

다음은 이전 접근 방식을 사용하는 code입니다.

unsigned int containerTexture= 0;
glGenTextures(1, &
containerTexture);
glBindTexture(GL_TEXTURE_2D, containerTexture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
int width= 0, height= 0, channelCount= 0;
stbi_set_flip_vertically_on_load(true);
unsigned char* pixels= stbi_load("res/textures/container.jpg", &
width, &
height, &
channelCount, 0);
if (pixels) {
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, pixels);
    glGenerateMipmap(GL_TEXTURE_2D);
} else {
    cerr << "Failed to load texture! \n";
}
stbi_image_free(pixels);

다음은 DSA 버전입니다.

unsigned int containerTexture= 0;
int width= 0, height= 0, channelCount= 0;
stbi_set_flip_vertically_on_load(true);
unsigned char* pixels= stbi_load("res/textures/container.jpg", &amp;
width, &amp;
height, &amp;
channelCount, 0);
if (pixels) {
    glCreateTextures(GL_TEXTURE_2D, 1, &amp;
containerTexture);
    glTextureParameteri(containerTexture, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTextureParameteri(containerTexture, GL_TEXTURE_WRAP_T, GL_REPEAT);
    glTextureParameteri(containerTexture, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTextureParameteri(containerTexture, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTextureStorage2D(containerTexture, 1, GL_RGB8, width, height);
    glTextureSubImage2D(containerTexture, 1, 0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, pixels);
    glGenerateTextureMipmap(containerTexture);
    glBindTextureUnit(0, containerTexture);
} else {
    cerr << "Failed to load texture! \n";
}
stbi_image_free(pixels);

  • 답변 # 1

    두 번째 매개 변수는glTextureSubImage2D이다수평설정합니다. Mipmap 수준은 0부터 시작하므로 기본 수준은0그리고 아닙니다1code에서와 같이 :

    glTextureSubImage2D(containerTexture, 0, 0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, pixels);
    

  • 이전 javascript : 실제 데이터 응답이 지연되는 200 OK 응답
  • 다음 python : GDB. 가변 개수의 인수를 사용하는 사용자 정의 명령