2011-06-01 21 views
5

GlTexSubImage2D, tam doku arabelleğine bir işaretçi gerektiriyor gibi görünüyor. Biri, yalnızca tüm tampondan ziyade güncelleme bölgesine bir işaretçi sağlayarak bir dokuya kısmi güncellemeler yapar?Dokunun bir bölümünü nasıl güncellerim?

Örneğin, görüntü verilerini doku arabelleğime kopyalamak yerine, varolan bir doku üzerine ikinci bir görüntüyü yerleştirmek istiyorsam glTexSubImage2D'yi çağırın, yalnızca RAM konumlarını veri kopyalamak zorunda kalmadan dokuyu güncelleştirmek için opengl alıyorum.

cevap

7

glTexSubImage2D öğesinin tam doku arabelleği için bir işaretçi gerektirdiğini nereden biliyorsunuz?

Yukarıda açıklanan belgelerden, son parametrenin yalnızca yeni verilerinizi içeren arabelleğin bir göstericisidir. Diğer parametreler, hangi doku nesnesinin güncelleneceğini (yalnızca bir OpenGL tanıtıcısı, gerekli olan orijinal verilere işaretçi yok) ve yeni verilerinizi kopyalamak için ofset ve boyuta göre belirttiğiniz parametrelerdir.

TL; DR: glTexSubImage2D yeni verileri gösteren bir işaretçi alır ve sizin örnek :) Yanıtınız için

+0

Teşekkür içinde gerektiğini düşünüyorum tam olarak ne yapar. Aslında benim sorunumun, problemlere neden olan ayrı bir iş parçacığındaki doku güncellemesini yapmak olduğunu öğrendim. Şimdi nasıl geçeceğimi anlamaya çalışıyorum .. Tekrar teşekkürler! – gamedynamix

+0

Rica ederim! OpenGL ve multithreading ile ilgili olarak, bu soru yardımcı olabilir: http://stackoverflow.com/questions/4567296/opengl-and-threading –

İlgili konular