Opengl es 调整纹理可见部分的精灵边界

Opengl es 调整纹理可见部分的精灵边界,opengl-es,cocos2d-iphone,cocos2d-x,Opengl Es,Cocos2d Iphone,Cocos2d X,有没有办法调整精灵可见部分的边界?为了更容易理解:我有一个纹理,如图1所示。然后,我将其分成几块,并使用(图2和图3中的木材纹理)填充生成的碎片。但是产生的碎片是透明的(图2和图3中的绿色),当从碎片创建精灵时,它们具有初始纹理的大小。有没有办法摆脱这种透明度并调整可见部分(木材纹理)的大小,openGL或cocos2d-x是什么意思? 可能是PRKit中的help-draw()方法: void PRFilledPolygon::draw() { //CCNode::draw(); glDi

有没有办法调整精灵可见部分的边界?为了更容易理解:我有一个纹理,如图1所示。然后,我将其分成几块,并使用(图2和图3中的木材纹理)填充生成的碎片。但是产生的碎片是透明的(图2和图3中的绿色),当从碎片创建精灵时,它们具有初始纹理的大小。有没有办法摆脱这种透明度并调整可见部分(木材纹理)的大小,openGL或cocos2d-x是什么意思? 可能是PRKit中的help-draw()方法:

void PRFilledPolygon::draw() {

//CCNode::draw();

glDisableClientState(GL_COLOR_ARRAY);

// we have a pointer to vertex points so enable client state
glBindTexture(GL_TEXTURE_2D, texture->getName());

glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ONE_MINUS_SRC_ALPHA);
glVertexPointer(2, GL_FLOAT, 0, areaTrianglePoints);
glTexCoordPointer(2, GL_FLOAT, 0, textureCoordinates);

glDrawArrays(GL_TRIANGLES, 0, areaTrianglePointCount);

glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

//Restore texture matrix and switch back to modelview matrix
glEnableClientState(GL_COLOR_ARRAY);}

好的,我做到了。首先,我从PRFilledPolygon(PRKit)创建纹理,用于该CCRenderTexture,然后我为新的CCSprite应用生成的纹理,然后使用PRKit站点的数据创建一个边界框,并使用setTextureRect()将其应用于sprite