public void drawSprite(Sprite spr, float x, float y, float width, float height, float z, float rotation, Color col) {
if(spr != null) {
if(col == null)
col = Color.White;
if(width == 0)
width = spr.Width;
if(height == 0)
height = spr.Height;
// Convert position from world space to screen space
x = x - Camera.X;
y = y - Camera.Y;
if(x > ViewWidth || y > ViewHeight || x + width < 0 || y + height < 0) {
Statistics.OccludedDraws++;
return;
}
GLES10.glEnable(GLES10.GL_TEXTURE_2D);
GLES10.glBindTexture(GLES10.GL_TEXTURE_2D, spr.TextureId);
GLES10.glMatrixMode(GLES10.GL_MODELVIEW);
GLES10.glLoadIdentity();
GLES10.glTranslatef(x + (width / 2), y + (height / 2), 0);
GLES10.glRotatef(rotation, 0, 0, 1);
GLES10.glTranslatef(-(width / 2), -(height / 2), 0);
GLES10.glScalef(width, height, 1.0f);
vertex(0, 0, 0, 0, col);
vertex(1, 0, 1, 0, col);
vertex(1, 1, 1, 1, col);
vertex(0, 0, 0, 0, col);
vertex(0, 1, 0, 1, col);
vertex(1, 1, 1, 1, col);
vPosBuf.rewind();
vColBuf.rewind();
vUVBuf.rewind();
GLES10.glVertexPointer(2, GLES10.GL_FLOAT, 0, vPosBuf);
GLES10.glColorPointer(4, GLES10.GL_FLOAT, 0, vColBuf);
GLES10.glTexCoordPointer(2, GLES10.GL_FLOAT, 0, vUVBuf);
GLES10.glDrawArrays(GLES10.GL_TRIANGLES, 0, 6);
Statistics.DrawCalls++;
}
}
private void vertex(float x, float y, float u, float v, Color col) {
vPosBuf.putFloat(x);
vPosBuf.putFloat(y);
vColBuf.putFloat(col.R);
vColBuf.putFloat(col.G);
vColBuf.putFloat(col.B);
vColBuf.putFloat(col.A);
vUVBuf.putFloat(u);
vUVBuf.putFloat(v);
}
Чзх? Геймдев контент на порносайте?
А мог бы портировать классику, совместив лучшее из двух миров.
Чел пишет на старый андройд, это уже порно.
Написать настоящую игрушку с оптимизацией, да еще и под нормальные Андроиды - вот это очень уважаемо.
Комментарий недоступен
Комментарий недоступен
Понравилось. Обожаю когда игра хорошо оптимизирована, хотя в данном случае наверно максимально оптимизирована. Жаль что в наши дни оптимизация это неважно, идет на топовых устройствах значит ок. Даже уже не пытаются, просто говорят игрокам - "Вам просто нужно обновить ПК".