s = sprite::create("res/gire.png");
s->setposition(visiblesize / 2);
this->addchild(s);
auto id = s->gettexture()->getname();
//int format,width,height;
glgettexlevelparameteriv(gl_texture_2d, 0, gl_texture_internal_format, &format);
glgettexlevelparameteriv(gl_texture_2d, 0, gl_texture_width, &width);
glgettexlevelparameteriv(gl_texture_2d, 0, gl_texture_height, &height);
//glgetteximage(gl_texture_2d, 0, format, gl_unsigned_byte, void*);
//這是不現實的
雖然我有解決方案但不建議用
因為 ndk 中沒有glgetteximage 函式
僅限於windows...
//小編典典
es 2.0中沒有。實際上不存在該功能真讓人感到驚訝。您可以獲取渲染緩衝區的大小,但不能獲取紋理的大小,這似乎是不一致的。
唯一可用的是您可以通過獲取的值glgettexparameteriv()
,即紋理的filter
和wrap
引數。
es 3.0也沒有。僅在es 3.1
glgettexlevelparameteriv()
中新增了它,使您可以訪問要查詢的所有值。例如,獲取當前繫結紋理的寬度和高度:
int texdims = new int[2];
gles31.glgettexlevelparameteriv(gles31.gl_texture_2d, 0, gl_texture_width, texdims, 0);
gles31.glgettexlevelparameteriv(gles31.gl_texture_2d, 0, gl_texture_height, texdims, 1);
cocos2dx 紋理快取
快取 cache 機制的原理是什麼?把新加進記憶體的資源做乙個hashmap儲存,每乙個資源加乙個key。每次載入資源,先從快取中尋找,如果找到就直接返回,否則載入到記憶體後再返回。一 自動快取紋理 直接使用display.newsprite filename 建立精靈,引擎內部會自動把紋理載入到快...
cocos2dx 紋理快取
在遊戲中需要載入大量的紋理,這些操作都是很耗記憶體和資源的。當遊戲中有個介面用到的非常多,第一次點進這介面時速度非常慢 因為要載入繪製很多 出現卡頓,我們可以使用texturecache提前非同步載入紋理,等載入結束,進入到這個介面再使用這些速度就會非常快。texture2d 紋理,即加載入記憶體後...
cocos2d x 紋理畫素格式
紋理的畫素格式是影象儲存在gpu記憶體的方式。你可能會見到以下畫素格式 紅色通道 綠色通道 藍色通道和alpha 通道各8位。如果想獲得最好的質量,使用這種格式是很靠譜的。但它會占用的記憶體會比16位的紋理多一倍,在iphone上記憶體是很寶貴的資源,這個 自然的,它的運算速度也是相對較慢的。常用的...