Cleanup. Assume static linking.

pull/312/head
Ignacio 4 years ago
parent 860b639492
commit 1a6e70c9a0

@ -67,18 +67,15 @@ uint BlockDXT1::evaluatePalette(Color32 color_array[4], bool d3d9/*= false*/) co
// color_array[1].u = c.u;
if( col0.u > col1.u ) {
int bias = 0;
if (d3d9) bias = 1;
// Four-color block: derive the other two colors.
color_array[2].r = (2 * color_array[0].r + color_array[1].r + bias) / 3;
color_array[2].g = (2 * color_array[0].g + color_array[1].g + bias) / 3;
color_array[2].b = (2 * color_array[0].b + color_array[1].b + bias) / 3;
color_array[2].r = (2 * color_array[0].r + color_array[1].r + d3d9) / 3;
color_array[2].g = (2 * color_array[0].g + color_array[1].g + d3d9) / 3;
color_array[2].b = (2 * color_array[0].b + color_array[1].b + d3d9) / 3;
color_array[2].a = 0xFF;
color_array[3].r = (2 * color_array[1].r + color_array[0].r + bias) / 3;
color_array[3].g = (2 * color_array[1].g + color_array[0].g + bias) / 3;
color_array[3].b = (2 * color_array[1].b + color_array[0].b + bias) / 3;
color_array[3].r = (2 * color_array[1].r + color_array[0].r + d3d9) / 3;
color_array[3].g = (2 * color_array[1].g + color_array[0].g + d3d9) / 3;
color_array[3].b = (2 * color_array[1].b + color_array[0].b + d3d9) / 3;
color_array[3].a = 0xFF;
return 4;

@ -35,7 +35,9 @@
#include "Filter.h"
#include "nvmath/nvmath.h"
#include "nvmath/Vector.h" // Vector4
#include "nvcore/Utils.h" // swap
#include <string.h> // memset

@ -15,15 +15,7 @@ SET(MATH_SRCS
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
# targets
ADD_DEFINITIONS(-DNVMATH_EXPORTS)
IF(NVMATH_SHARED)
ADD_DEFINITIONS(-DNVMATH_SHARED=1)
ADD_LIBRARY(nvmath SHARED ${MATH_SRCS})
ELSE(NVMATH_SHARED)
ADD_LIBRARY(nvmath ${MATH_SRCS})
ENDIF(NVMATH_SHARED)
ADD_LIBRARY(nvmath ${MATH_SRCS})
TARGET_LINK_LIBRARIES(nvmath ${LIBS} nvcore)

@ -10,7 +10,7 @@ namespace nv
{
/// 64 bit color stored as BGRA.
class NVMATH_CLASS Color64
class Color64
{
public:
Color64() { }
@ -46,7 +46,7 @@ namespace nv
};
/// 32 bit color stored as BGRA.
class NVMATH_CLASS Color32
class Color32
{
public:
Color32() { }
@ -96,7 +96,7 @@ namespace nv
/// 16 bit 565 BGR color.
struct NVMATH_CLASS Color16
struct Color16
{
Color16() { }
Color16(const Color16 & c) : u(c.u) { }
@ -120,7 +120,7 @@ namespace nv
};
/// 16 bit 4444 BGRA color.
class NVMATH_CLASS Color16_4444
class Color16_4444
{
public:
Color16_4444() { }

@ -1,6 +1,7 @@
// This code is in the public domain -- Ignacio Castaño <castano@gmail.com>
#pragma once
#include "nvmath.h" // NV_EPSILON
#include "Vector.h"
#include "Plane.h"

@ -1,8 +1,6 @@
// This code is in the public domain -- castanyo@yahoo.es
#pragma once
#ifndef NV_MATH_MATRIX_H
#define NV_MATH_MATRIX_H
#include "Vector.h"
@ -15,7 +13,7 @@ namespace nv
enum identity_t { identity };
// 2x2 matrix.
class NVMATH_CLASS Matrix2
class Matrix2
{
public:
Matrix2();
@ -55,7 +53,7 @@ namespace nv
// 3x3 matrix.
class NVMATH_CLASS Matrix3
class Matrix3
{
public:
Matrix3();
@ -96,7 +94,7 @@ namespace nv
// 4x4 matrix.
class NVMATH_CLASS Matrix
class Matrix
{
public:
typedef Matrix const & Arg;
@ -150,5 +148,3 @@ namespace nv
extern Matrix inverse(const Matrix & m);
} // nv namespace
#endif // NV_MATH_MATRIX_H

@ -1,10 +1,9 @@
// This code is in the public domain -- castanyo@yahoo.es
#pragma once
#ifndef NV_MATH_MATRIX_INL
#define NV_MATH_MATRIX_INL
#include "Matrix.h"
#include "nvmath.h"
namespace nv
{
@ -1462,6 +1461,3 @@ public:
};
#endif
#endif // NV_MATH_MATRIX_INL

@ -1,17 +1,14 @@
// This code is in the public domain -- Ignacio Castaño <castano@gmail.com>
#pragma once
#ifndef NV_MATH_PLANE_H
#define NV_MATH_PLANE_H
#include "nvmath.h"
#include "Vector.h"
namespace nv
{
class Matrix;
class NVMATH_CLASS Plane
class Plane
{
public:
Plane();
@ -38,5 +35,3 @@ namespace nv
} // nv namespace
#endif // NV_MATH_PLANE_H

@ -1,6 +1,7 @@
// This code is in the public domain -- Ignacio Castaño <castano@gmail.com>
#pragma once
#include "nvmath.h"
#include "Vector.h" // Vector3, Vector4
#if NV_USE_ALTIVEC

@ -87,12 +87,12 @@ namespace nv {
return Vector3( c[0], c[1], c[2] );
}
NV_SIMD_INLINE Vector4 toVector4() const
/*NV_SIMD_INLINE Vector4 toVector4() const
{
NV_ALIGN_16 float c[4];
_mm_store_ps( c, vec );
return Vector4( c[0], c[1], c[2], c[3] );
}
}*/
#define SSE_SPLAT( a ) ((a) | ((a) << 2) | ((a) << 4) | ((a) << 6))
NV_SIMD_NATIVE SimdVector splatX() const { return SimdVector( _mm_shuffle_ps( vec, vec, SSE_SPLAT( 0 ) ) ); }

@ -14,11 +14,11 @@ namespace nv
class Vector3;
class Matrix;
NVMATH_API float legendrePolynomial( int l, int m, float x ) NV_CONST;
NVMATH_API float shBasis( int l, int m, float theta, float phi ) NV_CONST;
NVMATH_API float shBasis( int l, int m, const Vector3 & v ) NV_CONST;
NVMATH_API float hshBasis( int l, int m, float theta, float phi ) NV_CONST;
NVMATH_API float hshBasis( int l, int m, const Vector3 & v ) NV_CONST;
float legendrePolynomial( int l, int m, float x ) NV_CONST;
float shBasis( int l, int m, float theta, float phi ) NV_CONST;
float shBasis( int l, int m, const Vector3 & v ) NV_CONST;
float hshBasis( int l, int m, float theta, float phi ) NV_CONST;
float hshBasis( int l, int m, const Vector3 & v ) NV_CONST;
class Sh;
float dot(const Sh & a, const Sh & b) NV_CONST;
@ -395,10 +395,10 @@ namespace nv
}*/
NVMATH_API void multiply( const ShMatrix &A, const ShMatrix &B );
NVMATH_API void rotation( const Matrix & m );
NVMATH_API void rotation( int axis, float angles );
NVMATH_API void print();
void multiply( const ShMatrix &A, const ShMatrix &B );
void rotation( const Matrix & m );
void rotation( int axis, float angles );
void print();
private:

@ -1,14 +1,12 @@
// This code is in the public domain -- castanyo@yahoo.es
#pragma once
#ifndef NV_MATH_VECTOR_H
#define NV_MATH_VECTOR_H
#include "nvmath.h"
#include "nvcore/nvcore.h"
namespace nv
{
class NVMATH_CLASS Vector2
class Vector2
{
public:
typedef Vector2 const & Arg;
@ -33,9 +31,6 @@ namespace nv
void operator*=(float s);
void operator*=(Vector2::Arg v);
friend bool operator==(Vector2::Arg a, Vector2::Arg b);
friend bool operator!=(Vector2::Arg a, Vector2::Arg b);
union {
struct {
float x, y;
@ -44,7 +39,7 @@ namespace nv
};
};
class NVMATH_CLASS Vector3
class Vector3
{
public:
typedef Vector3 const & Arg;
@ -75,9 +70,6 @@ namespace nv
void operator*=(Vector3::Arg v);
void operator/=(Vector3::Arg v);
friend bool operator==(Vector3::Arg a, Vector3::Arg b);
friend bool operator!=(Vector3::Arg a, Vector3::Arg b);
union {
struct {
float x, y, z;
@ -86,7 +78,7 @@ namespace nv
};
};
class NVMATH_CLASS Vector4
class Vector4
{
public:
typedef Vector4 const & Arg;
@ -121,9 +113,6 @@ namespace nv
void operator*=(Vector4::Arg v);
void operator/=(Vector4::Arg v);
friend bool operator==(Vector4::Arg a, Vector4::Arg b);
friend bool operator!=(Vector4::Arg a, Vector4::Arg b);
union {
struct {
float x, y, z, w;
@ -146,4 +135,3 @@ template <typename T> T to(const nv::Vector2 & v) { NV_COMPILER_CHECK(sizeof(T)
template <typename T> T to(const nv::Vector3 & v) { NV_COMPILER_CHECK(sizeof(T) == sizeof(nv::Vector3)); return T(v.x, v.y, v.z); }
template <typename T> T to(const nv::Vector4 & v) { NV_COMPILER_CHECK(sizeof(T) == sizeof(nv::Vector4)); return T(v.x, v.y, v.z, v.w); }
#endif // NV_MATH_VECTOR_H

@ -1,26 +1,15 @@
// This code is in the public domain -- castanyo@yahoo.es
#pragma once
#ifndef NV_MATH_VECTOR_INL
#define NV_MATH_VECTOR_INL
#include "Vector.h"
#include "nvmath.h"
#include "nvcore/Utils.h" // min, max
#include "nvcore/Hash.h" // hash
namespace nv
{
// Helpers to convert vector types. Assume T has x,y members and 2 argument constructor.
//template <typename T> T to(Vector2::Arg v) { return T(v.x, v.y); }
// Helpers to convert vector types. Assume T has x,y,z members and 3 argument constructor.
//template <typename T> T to(Vector3::Arg v) { return T(v.x, v.y, v.z); }
// Helpers to convert vector types. Assume T has x,y,z members and 3 argument constructor.
//template <typename T> T to(Vector4::Arg v) { return T(v.x, v.y, v.z, v.w); }
// Vector2
inline Vector2::Vector2() {}
inline Vector2::Vector2(float f) : x(f), y(f) {}
@ -537,7 +526,8 @@ namespace nv
inline Vector3 operator/(Vector3::Arg v, float s)
{
return scale(v, 1.0f/s);
//return scale(v, 1.0f/s);
return Vector3(v.x / s, v.y / s, v.z / s);
}
/*inline Vector3 add_scaled(Vector3::Arg a, Vector3::Arg b, float s)
@ -915,5 +905,3 @@ namespace nv
#endif //NV_OS_IOS
} // nv namespace
#endif // NV_MATH_VECTOR_INL

@ -1,11 +1,13 @@
// This code is in the public domain -- castano@gmail.com
#pragma once
#ifndef NV_MATH_FTOI_H
#define NV_MATH_FTOI_H
#include "nvmath/nvmath.h"
#if NV_USE_SSE
#include <xmmintrin.h>
#endif
#include <math.h>
namespace nv
@ -246,5 +248,3 @@ namespace nv
} // nv
#endif // NV_MATH_FTOI_H

@ -1,8 +1,6 @@
// This code is in the public domain -- castanyo@yahoo.es
#pragma once
#ifndef NV_MATH_H
#define NV_MATH_H
#include "nvcore/nvcore.h"
#include "nvcore/Debug.h" // nvDebugCheck
@ -14,21 +12,6 @@
#include <float.h> // finite, isnan
#endif
// Function linkage
#if NVMATH_SHARED
#ifdef NVMATH_EXPORTS
#define NVMATH_API DLL_EXPORT
#define NVMATH_CLASS DLL_EXPORT_CLASS
#else
#define NVMATH_API DLL_IMPORT
#define NVMATH_CLASS DLL_IMPORT
#endif
#else // NVMATH_SHARED
#define NVMATH_API
#define NVMATH_CLASS
#endif // NVMATH_SHARED
// Set some reasonable defaults.
#ifndef NV_USE_ALTIVEC
# define NV_USE_ALTIVEC NV_CPU_PPC
@ -53,10 +36,6 @@
# endif
#endif
#if NV_USE_SSE
#include <xmmintrin.h>
#endif
// Internally set NV_USE_SIMD when either altivec or sse is available.
#if NV_USE_ALTIVEC && NV_USE_SSE
# error "Cannot enable both altivec and sse!"
@ -331,5 +310,3 @@ namespace nv
} // nv
#endif // NV_MATH_H

Loading…
Cancel
Save