diff --git a/src/gl/gl3device.cpp b/src/gl/gl3device.cpp index 2aed615..976c8b1 100644 --- a/src/gl/gl3device.cpp +++ b/src/gl/gl3device.cpp @@ -1202,8 +1202,18 @@ rasterRenderFast(Raster *raster, int32 x, int32 y) case Raster::CAMERA: setActiveTexture(0); glBindTexture(GL_TEXTURE_2D, natdst->texid); - /*glCopyTexSubImage2D(GL_TEXTURE_2D, 0, x, (dst->height-src->height)-y, - 0, 0, src->width, src->height);*/ + SceDisplayFrameBuf pParam; + pParam.size = sizeof(SceDisplayFrameBuf); + sceDisplayGetFrameBuf(&pParam, SCE_DISPLAY_SETBUF_NEXTFRAME); + sceGxmTransferCopy(960, 544, 0, SCE_GXM_COLOR_MASK_A, + SCE_GXM_TRANSFER_COLORKEY_NONE, + SCE_GXM_TRANSFER_FORMAT_U8U8U8U8_ABGR, + SCE_GXM_TRANSFER_LINEAR, + pParam.base, 0, 0, 960 * 4, + SCE_GXM_TRANSFER_FORMAT_U8U8U8_BGR, + SCE_GXM_TRANSFER_LINEAR, + (uint8_t*)vglGetTexDataPointer(GL_TEXTURE_2D) + 1023 * 1024 * 3, 0, 0, - 1024 * 3, + NULL, SCE_GXM_TRANSFER_FRAGMENT_SYNC, NULL); glBindTexture(GL_TEXTURE_2D, boundTexture[0]); return 1; } diff --git a/src/gl/gl3pipe.cpp b/src/gl/gl3pipe.cpp index 5fd33c8..cba7ea3 100644 --- a/src/gl/gl3pipe.cpp +++ b/src/gl/gl3pipe.cpp @@ -256,11 +256,9 @@ defaultInstanceCB(Geometry *geo, InstanceDataHeader *header, bool32 reinstance) geo->morphTargets[0].normals, header->totalNumVertex, a->stride); } else if (!hasNormals) { - int i = 0; - while (i < header->totalNumVertex) { + for (int i = 0; i < header->totalNumVertex; i++) { float *verts_f = (float*)&verts[12 + i * 36]; verts_f[0] = verts_f[1] = verts_f[2] = 0; - i++; } } @@ -279,13 +277,11 @@ defaultInstanceCB(Geometry *geo, InstanceDataHeader *header, bool32 reinstance) inst++; } } else if (!isPrelit) { - int i = 0; - while (i < header->totalNumVertex) { + for (int i = 0; i < header->totalNumVertex; i++) { verts[24 + i * 36] = 0; verts[25 + i * 36] = 0; verts[26 + i * 36] = 0; verts[27 + i * 36] = 255; - i++; } } diff --git a/src/gl/gl3raster.cpp b/src/gl/gl3raster.cpp index b628c45..caf2add 100644 --- a/src/gl/gl3raster.cpp +++ b/src/gl/gl3raster.cpp @@ -120,15 +120,15 @@ rasterCreateCameraTexture(Raster *raster) #ifdef RW_GLES // glReadPixels only supports GL_RGBA - natras->internalFormat = GL_RGBA; - natras->format = GL_RGBA; + natras->internalFormat = GL_RGB; + natras->format = GL_RGB; natras->type = GL_UNSIGNED_BYTE; - natras->bpp = 4; + natras->bpp = 3; #endif -#ifndef PSP2_NO_DXT_TEXTURES - natras->internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; -#endif +//#ifndef PSP2_NO_DXT_TEXTURES +// natras->internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; +//#endif raster->stride = raster->width*natras->bpp; diff --git a/src/gl/gl3skin.cpp b/src/gl/gl3skin.cpp index 242ec90..0a08f53 100644 --- a/src/gl/gl3skin.cpp +++ b/src/gl/gl3skin.cpp @@ -148,11 +148,9 @@ skinInstanceCB(Geometry *geo, InstanceDataHeader *header, bool32 reinstance) geo->morphTargets[0].normals, header->totalNumVertex, a->stride); } else if (!hasNormals) { - int i = 0; - while (i < header->totalNumVertex) { + for (int i = 0; i < header->totalNumVertex; i++) { float *verts_f = (float*)&verts[12 + i * 56]; - verts_f[0] = verts_f[1] = verts_f[2] = 0; - i++; + verts_f[0] = verts_f[1] = verts_f[2] = 0.0f; } } @@ -164,13 +162,11 @@ skinInstanceCB(Geometry *geo, InstanceDataHeader *header, bool32 reinstance) geo->colors, header->totalNumVertex, a->stride); } else if (!isPrelit) { - int i = 0; - while (i < header->totalNumVertex) { + for (int i = 0; i < header->totalNumVertex; i++) { verts[24 + i * 56] = 0; verts[25 + i * 56] = 0; verts[26 + i * 56] = 0; verts[27 + i * 56] = 255; - i++; } } @@ -268,8 +264,6 @@ skinRenderCB(Atomic *atomic, InstanceDataHeader *header) skinShader->use(); - - while(n--){ m = inst->material;