summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoSoftware/Src/TransformUnit.h
blob: 974e44372df63efe12a03d8c18de8e214b22c0d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Copyright 2013 Dolphin Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.

#ifndef _TRANSFORM_UNIT_H_
#define _TRANSFORM_UNIT_H_

struct InputVertexData;
struct OutputVertexData;

namespace TransformUnit
{
	void MultiplyVec2Mat24(const float *vec, const float *mat, float *result);
	void MultiplyVec2Mat34(const float *vec, const float *mat, float *result);
	void MultiplyVec3Mat33(const float *vec, const float *mat, float *result);
	void MultiplyVec3Mat34(const float *vec, const float *mat, float *result);

	void TransformPosition(const InputVertexData *src, OutputVertexData *dst);
	void TransformNormal(const InputVertexData *src, bool nbt, OutputVertexData *dst);
	void TransformColor(const InputVertexData *src, OutputVertexData *dst);
	void TransformTexCoord(const InputVertexData *src, OutputVertexData *dst, bool specialCase);
}

#endif