예제 #1
0
파일: SFXMesh.cs 프로젝트: ArtReeX/memoria
    public unsafe void TILE(PSX_LIBGPU.TILE *obj, Int32 w, Int32 h)
    {
        Int32 num  = (Int32)obj->x0 + SFXMeshBase.drOffsetX;
        Int32 num2 = (Int32)obj->y0 + SFXMeshBase.drOffsetY;

        SFXMesh.gPos[SFXMesh.gPosIndex].Set((Single)num, (Single)num2, SFXMesh.zDepth);
        this.vbPos[this.vbOffset] = SFXMesh.gPos[SFXMesh.gPosIndex++];
        SFXMesh.gPos[SFXMesh.gPosIndex].Set((Single)(num + w), (Single)num2, SFXMesh.zDepth);
        this.vbPos[this.vbOffset + 1] = SFXMesh.gPos[SFXMesh.gPosIndex++];
        SFXMesh.gPos[SFXMesh.gPosIndex].Set((Single)num, (Single)(num2 + h), SFXMesh.zDepth);
        this.vbPos[this.vbOffset + 2] = SFXMesh.gPos[SFXMesh.gPosIndex++];
        SFXMesh.gPos[SFXMesh.gPosIndex].Set((Single)(num + w), (Single)(num2 + h), SFXMesh.zDepth);
        this.vbPos[this.vbOffset + 3]     = SFXMesh.gPos[SFXMesh.gPosIndex++];
        SFXMesh.gCol[SFXMesh.gColIndex].r = obj->r0;
        SFXMesh.gCol[SFXMesh.gColIndex].g = obj->g0;
        SFXMesh.gCol[SFXMesh.gColIndex].b = obj->b0;
        SFXMesh.gCol[SFXMesh.gColIndex].a = this.alpha;
        this.vbCol[this.vbOffset]         = (this.vbCol[this.vbOffset + 1] = (this.vbCol[this.vbOffset + 2] = (this.vbCol[this.vbOffset + 3] = SFXMesh.gCol[SFXMesh.gColIndex++])));
        this.ibIndex[this.ibOffset++]     = this.vbOffset;
        this.ibIndex[this.ibOffset++]     = this.vbOffset + 1;
        this.ibIndex[this.ibOffset++]     = this.vbOffset + 2;
        this.ibIndex[this.ibOffset++]     = this.vbOffset + 1;
        this.ibIndex[this.ibOffset++]     = this.vbOffset + 3;
        this.ibIndex[this.ibOffset++]     = this.vbOffset + 2;
        this.vbOffset += 4;
    }
예제 #2
0
    private unsafe static void TILE(PSX_LIBGPU.TILE *tag, Int32 w, Int32 h)
    {
        UInt32  currentABR = SFXKey.GetCurrentABR(tag->code);
        SFXMesh mesh       = SFXRender.GetMesh(currentABR, tag->code);

        mesh.TILE(tag, w, h);
    }
예제 #3
0
파일: PSXGPU.cs 프로젝트: ArtReeX/memoria
    private unsafe static void exeTILE(PSX_LIBGPU.TILE *ObjPtr)
    {
        Boolean abe  = PSXGPU.IsSemiTrans(ObjPtr->code);
        Color32 c    = new Color32(ObjPtr->r0, ObjPtr->g0, ObjPtr->b0, Byte.MaxValue);
        Vector3 p    = new Vector3((Single)ObjPtr->x0, (Single)ObjPtr->y0, PSXGPU.zDepth);
        Vector2 size = new Vector2((Single)ObjPtr->w, (Single)ObjPtr->h);

        PSXGPU.DrawTile(abe, c, p, size);
    }