summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoSoftware/Src/VertexFormatConverter.cpp
diff options
context:
space:
mode:
authordonkopunchstania <donkopunchstania@gmail.com>2010-03-09 04:38:07 +0000
committerdonkopunchstania <donkopunchstania@gmail.com>2010-03-09 04:38:07 +0000
commitcc7c6cd35f0cccb19a4e3681259b55cebeeb80ba (patch)
treeb32a1c18ff547148bac6ef4548158abeee1277bb /Source/Plugins/Plugin_VideoSoftware/Src/VertexFormatConverter.cpp
parent5beb6dfd4718c5580d4b90edf38ef7bd6882e0f4 (diff)
Texture coordinates are stored in fixed point format in TEV which allows overflows to be emulated correctly. Added logic to calculated texture LOD and use the correct mip. Dumping textures will now dump all mip levels. Added line rendering. Changed data stored in vertex from float arrays to vectors for cleaner math.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5178 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Plugins/Plugin_VideoSoftware/Src/VertexFormatConverter.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoSoftware/Src/VertexFormatConverter.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/Source/Plugins/Plugin_VideoSoftware/Src/VertexFormatConverter.cpp b/Source/Plugins/Plugin_VideoSoftware/Src/VertexFormatConverter.cpp
index d3d3f421c9..f50220aaad 100644
--- a/Source/Plugins/Plugin_VideoSoftware/Src/VertexFormatConverter.cpp
+++ b/Source/Plugins/Plugin_VideoSoftware/Src/VertexFormatConverter.cpp
@@ -24,32 +24,32 @@ namespace VertexFormatConverter
{
void LoadNormal1_Byte(InputVertexData *dst, u8 *src)
{
- dst->normal[0][0] = (float)(s8)src[0] / 128;
- dst->normal[0][1] = (float)(s8)src[1] / 128;
- dst->normal[0][2] = (float)(s8)src[2] / 128;
+ dst->normal[0].x = (float)(s8)src[0] / 128;
+ dst->normal[0].y = (float)(s8)src[1] / 128;
+ dst->normal[0].z = (float)(s8)src[2] / 128;
}
void LoadNormal1_Short(InputVertexData *dst, u8 *src)
{
- dst->normal[0][0] = (float)((s16*)src)[0] / 32768;
- dst->normal[0][1] = (float)((s16*)src)[1] / 32768;
- dst->normal[0][2] = (float)((s16*)src)[2] / 32768;
+ dst->normal[0].x = (float)((s16*)src)[0] / 32768;
+ dst->normal[0].y = (float)((s16*)src)[1] / 32768;
+ dst->normal[0].z = (float)((s16*)src)[2] / 32768;
}
void LoadNormal1_Float(InputVertexData *dst, u8 *src)
{
- dst->normal[0][0] = ((float*)src)[0];
- dst->normal[0][1] = ((float*)src)[1];
- dst->normal[0][2] = ((float*)src)[2];
+ dst->normal[0].x = ((float*)src)[0];
+ dst->normal[0].y = ((float*)src)[1];
+ dst->normal[0].z = ((float*)src)[2];
}
void LoadNormal3_Byte(InputVertexData *dst, u8 *src)
{
for (int i = 0, j = 0; i < 3; i++, j+=3)
{
- dst->normal[i][0] = (float)(s8)src[j + 0] / 128;
- dst->normal[i][1] = (float)(s8)src[j + 1] / 128;
- dst->normal[i][2] = (float)(s8)src[j + 2] / 128;
+ dst->normal[i].x = (float)(s8)src[j + 0] / 128;
+ dst->normal[i].y = (float)(s8)src[j + 1] / 128;
+ dst->normal[i].z = (float)(s8)src[j + 2] / 128;
}
}
@@ -57,9 +57,9 @@ namespace VertexFormatConverter
{
for (int i = 0, j = 0; i < 3; i++, j+=3)
{
- dst->normal[i][0] = (float)((s16*)src)[j + 0] / 32768;
- dst->normal[i][1] = (float)((s16*)src)[j + 1] / 32768;
- dst->normal[i][2] = (float)((s16*)src)[j + 2] / 32768;
+ dst->normal[i].x = (float)((s16*)src)[j + 0] / 32768;
+ dst->normal[i].y = (float)((s16*)src)[j + 1] / 32768;
+ dst->normal[i].z = (float)((s16*)src)[j + 2] / 32768;
}
}
@@ -67,9 +67,9 @@ namespace VertexFormatConverter
{
for (int i = 0, j = 0; i < 3; i++, j+=3)
{
- dst->normal[i][0] = ((float*)src)[j + 0];
- dst->normal[i][1] = ((float*)src)[j + 1];
- dst->normal[i][2] = ((float*)src)[j + 2];
+ dst->normal[i].x = ((float*)src)[j + 0];
+ dst->normal[i].y = ((float*)src)[j + 1];
+ dst->normal[i].z = ((float*)src)[j + 2];
}
}
}