2011-11-09 20 views
6

Tôi đang tạo engine 2D sprite trong OpenGL và tôi muốn vô hiệu hóa các mipmap, vì tôi không cần chúng.Cách tắt mipmaps trong OpenGL

Khi tôi gọi:

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, internal->internal_w, internal->internal_h, 0, GL_RGBA, GL_UNSIGNED_BYTE, internal->data); 
RenderWithThisTexture(); 

tôi đã rect trắng, nhưng khi tôi gọi:

gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, internal->internal_w, internal->internal_h, GL_RGBA, GL_UNSIGNED_BYTE, internal->data); 
RenderWithThisTexture(); 

tôi đã rect đúng kết cấu

tôi đã tìm ra rằng đây có thể là do của mipmaps đã bật, nhưng thật đáng tiếc là tôi không thể tìm thấy bất kỳ thông tin nào về cách tôi có thể tắt chúng.

Tôi muốn gắn bó với OpenGL 1.1 (không OGL 2.0 hoặc cao hơn đang)

+0

Tôi hy vọng bạn có nghĩa là OpenGL 1.1 và không 1.0, vì trước đây không hỗ trợ các đối tượng kết cấu, điều này làm cho việc tạo họa tiết không hiệu quả và rườm rà để sử dụng. Tôi giả sử bạn không nói về ES, hoặc, nếu không thì câu hỏi cần retagging/retitling anyway. –

+0

Vâng, sai lầm của tôi, ý tôi là 1,1 – PiotrK

Trả lời

15
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 

này nên là mặc định. Đảm bảo bạn không thay đổi nó thành MIPMAP ở đâu đó.

+15

Nó thực sự không phải là mặc định. Kỳ lạ là giá trị mặc định là 'GL_NEAREST_MIPMAP_LINEAR', thực sự cho phép ánh xạ. Và bằng cách này, bạn nên đặt ra rằng bạn cũng có thể đặt nó thành 'GL_NEAREST' tùy thuộc vào nhu cầu của OP, chỉ là không có gì với' MIPMAP' trong đó. –

Các vấn đề liên quan