Changeset 397 for trunk


Ignore:
Timestamp:
06/12/15 19:27:20 (10 years ago)
Author:
epyon
Message:
  • various cleanups
Location:
trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/nv/base/capi.hh

    r396 r397  
    3131                        NV_NOALIAS NV_RESTRICT void * __cdecl malloc( size_t );
    3232                        NV_NOALIAS NV_RESTRICT void * __cdecl realloc( void * _Memory, size_t _NewSize );
     33                        NV_NOALIAS NV_RESTRICT void * __cdecl _aligned_malloc( size_t _Size, size_t _Alignment );
     34                        NV_NOALIAS             void   __cdecl _aligned_free( void* _Block );
     35//                      NV_NOALIAS NV_RESTRICT void * __cdecl _aligned_realloc( void*  _Block, size_t _Size, size_t _Alignment );
    3336                        void *  __cdecl memcpy( void * _Dst, const void * _Src, size_t _Size );
    3437                        void *  __cdecl memmove( void * _Dst, const void * _Src, size_t _Size );
     
    4952                        extern void * __cdecl malloc( nv::size_t );
    5053                        extern void * __cdecl realloc( void * , nv::size_t );
     54                        extern void * __cdecl aligned_alloc( nv::size_t, nv::size_t );
    5155                        extern void * __cdecl memcpy( void * , const void * , nv::size_t );
    5256                        extern void * __cdecl memmove( void * , const void * , nv::size_t );
     
    7579                if ( p ) NV_CAPI_CALL( free )( p );
    7680        }
     81
     82        inline void* nvaligned_malloc( size_t size, size_t alignment )
     83        {
     84#if NV_COMPILER == NV_MSVC
     85                return NV_CAPI_CALL( _aligned_malloc )( size, alignment );
     86#else
     87                return NV_CAPI_CALL( aligned_alloc )( size, alignment );
     88#endif
     89        }
     90        inline void nvaligned_free( void* p )
     91        {
     92#if NV_COMPILER == NV_MSVC
     93                if ( p ) NV_CAPI_CALL( _aligned_free )( p );
     94#else
     95                if ( p ) NV_CAPI_CALL( free )( p );
     96#endif
     97        }
     98
    7799
    78100        inline void* nvmemcpy( void *dest, const void *src, size_t count )
  • trunk/nv/base/common.hh

    r396 r397  
    174174#define NV_TEMPLATE_FAIL(T,message) static_assert( NV_TYPE_FAIL(T), message );
    175175
     176#ifdef min
     177#undef min
     178#endif
     179#ifdef max
     180#undef max
     181#endif
     182#ifdef isnan
     183#undef isnan
     184#endif
     185#ifdef isinf
     186#undef isinf
     187#endif
     188#ifdef log2
     189#undef log2
     190#endif
     191
    176192namespace nv
    177193{
  • trunk/nv/core/random.hh

    r395 r397  
    3535
    3636                template < typename T >
    37                 glm::detail::tvec2<T> range( glm::detail::tvec2<T> min, glm::detail::tvec2<T> max )
     37                tvec2<T> range( tvec2<T> min, tvec2<T> max )
    3838                {
    39                         return glm::detail::tvec2<T>(
     39                        return tvec2<T>(
    4040                                range_impl( min.x, max.x, is_floating_point<T>() ),
    4141                                range_impl( min.y, max.y, is_floating_point<T>() )
     
    4444
    4545                template < typename T >
    46                 glm::detail::tvec3<T> range( glm::detail::tvec3<T> min, glm::detail::tvec3<T> max )
     46                tvec3<T> range( tvec3<T> min, tvec3<T> max )
    4747                {
    48                         return glm::detail::tvec3<T>(
     48                        return tvec3<T>(
    4949                                range_impl( min.x, max.x, is_floating_point<T>() ),
    5050                                range_impl( min.y, max.y, is_floating_point<T>() ),
     
    5454
    5555                template < typename T >
    56                 glm::detail::tvec4<T> range( glm::detail::tvec4<T> min, glm::detail::tvec4<T> max )
     56                tvec4<T> range( tvec4<T> min, tvec4<T> max )
    5757                {
    58                         return glm::detail::tvec4<T>(
     58                        return tvec4<T>(
    5959                                range_impl( min.x, max.x, is_floating_point<T>() ),
    6060                                range_impl( min.y, max.y, is_floating_point<T>() ),
  • trunk/nv/core/transform.hh

    r395 r397  
    2525                void set_position( const vec3& a_position ) { m_position = a_position; }
    2626                void set_orientation( const quat& a_orientation ) { m_orientation = a_orientation; }
    27                 void set_orientation( const vec3& axis, float angle )
    28                 {
    29                         m_orientation = glm::angleAxis( angle, axis );
    30                 }
     27                void set_orientation( float radians, const vec3& axis )
     28                { // use glm::radians if degrees!
     29                        m_orientation = glm::angleAxis( radians, axis );
     30                }
    3131
    3232                const vec3& get_position() const { return m_position; }
     
    4242                        m_position += absolute;
    4343                }
    44                 void rotate( const vec3& axis, f32 angle )
    45                 {
    46                         quat temp( angle, axis );
    47                         m_orientation = temp * m_orientation;
    48                 }
     44//              void rotate( const vec3& axis, f32 angle )
     45//              { // use glm::radians if degrees!
     46//                      quat temp( angle, axis );
     47//                      m_orientation = temp * m_orientation;
     48//              }
    4949                void set( const mat4& from )
    5050                {
  • trunk/nv/interface/camera.hh

    r395 r397  
    3333                void set_perspective( f32 fov, f32 aspect, f32 near, f32 far )
    3434                {
    35                         m_projection = glm::perspective( fov, aspect, near, far );
     35                        m_projection = glm::perspective( glm::radians( fov ), aspect, near, far );
    3636                }
    3737                void set_ortho( f32 left, f32 right, f32 bottom, f32 top, f32 near = -1.0f, f32 far = 1.0f )
  • trunk/nv/lua/lua_glm.hh

    r395 r397  
    6060
    6161                template< typename T >
    62                 struct pass_traits< glm::detail::tvec2<T> >
     62                struct pass_traits< tvec2<T> >
    6363                {
    64                         typedef glm::detail::tvec2<T> value_type;
     64                        typedef tvec2<T> value_type;
    6565                        static void push( lua_State *L, const value_type& p ) { detail::push_vec< value_type >( L, p ); }
    6666                        static value_type to( lua_State *L, int index ) { return detail::to_vec< value_type >( L, index ); }
     
    6969
    7070                template< typename T >
    71                 struct pass_traits< glm::detail::tvec3<T> >
     71                struct pass_traits< tvec3<T> >
    7272                {
    73                         typedef glm::detail::tvec3<T> value_type;
     73                        typedef tvec3<T> value_type;
    7474                        static void push( lua_State *L, const value_type& p ) { detail::push_vec< value_type >( L, p ); }
    7575                        static value_type to( lua_State *L, int index ) { return detail::to_vec< value_type >( L, index ); }
     
    7878
    7979                template< typename T >
    80                 struct pass_traits< glm::detail::tvec4<T> >
     80                struct pass_traits< tvec4<T> >
    8181                {
    82                         typedef glm::detail::tvec4<T> value_type;
     82                        typedef tvec4<T> value_type;
    8383                        static void push( lua_State *L, const value_type& p ) { detail::push_vec< value_type >( L, p ); }
    8484                        static value_type to( lua_State *L, int index ) { return detail::to_vec< value_type >( L, index ); }
  • trunk/nv/stl/math.hh

    r395 r397  
    44// This file is part of Nova libraries.
    55// For conditions of distribution and use, see copying.txt file in root folder.
     6//
     7// TODO: https://github.com/cinder/Cinder/commit/56fd3996be207ccca8063bc81648e199930c909d
    68
    79#ifndef NV_STL_MATH_HH
     
    1820#include <glm/glm.hpp>
    1921#include <glm/gtc/matrix_transform.hpp>
    20 #include <glm/gtc/matrix_access.hpp>
    2122#include <glm/gtc/type_ptr.hpp>
    2223#include <glm/gtc/quaternion.hpp>
    23 #include <glm/gtx/rotate_vector.hpp>
    2424#include <glm/gtx/vector_angle.hpp>
    2525
    2626namespace nv
    2727{
    28 
    29         typedef glm::detail::tvec2<sint8> i8vec2;
    30         typedef glm::detail::tvec3<sint8> i8vec3;
    31         typedef glm::detail::tvec4<sint8> i8vec4;
    32 
    33         typedef glm::detail::tvec2<sint16> i16vec2;
    34         typedef glm::detail::tvec3<sint16> i16vec3;
    35         typedef glm::detail::tvec4<sint16> i16vec4;
    36 
    37         typedef glm::detail::tvec2<uint8> u8vec2;
    38         typedef glm::detail::tvec3<uint8> u8vec3;
    39         typedef glm::detail::tvec4<uint8> u8vec4;
    40 
    41         typedef glm::vec2 vec2;
    42         typedef glm::vec3 vec3;
    43         typedef glm::vec4 vec4;
    44 
    45         typedef glm::ivec2 ivec2;
    46         typedef glm::ivec3 ivec3;
    47         typedef glm::ivec4 ivec4;
    48 
    49         typedef glm::mat2 mat2;
    50         typedef glm::mat3 mat3;
    51         typedef glm::mat4 mat4;
     28#if 0
     29        template < typename T > using tvec2 = ::glm::detail::tvec2<T, glm::precision::highp>;
     30        template < typename T > using tvec3 = ::glm::detail::tvec3<T, glm::precision::highp>;
     31        template < typename T > using tvec4 = ::glm::detail::tvec4<T, glm::precision::highp>;
     32        template < typename T > using tmat2 = ::glm::detail::tmat2x2<T, glm::precision::highp>;
     33        template < typename T > using tmat3 = ::glm::detail::tmat3x3<T, glm::precision::highp>;
     34        template < typename T > using tmat4 = ::glm::detail::tmat4x4<T, glm::precision::highp>;
     35        template < typename T > using tquat = ::glm::detail::tmat4x4<T, glm::precision::highp>;
     36#else
     37        template < typename T > using tvec2 = ::glm::tvec2<T>;
     38        template < typename T > using tvec3 = ::glm::tvec3<T>;
     39        template < typename T > using tvec4 = ::glm::tvec4<T>;
     40        template < typename T > using tmat2 = ::glm::tmat2x2<T>;
     41        template < typename T > using tmat3 = ::glm::tmat3x3<T>;
     42        template < typename T > using tmat4 = ::glm::tmat4x4<T>;
     43        template < typename T > using tquat = ::glm::tmat4x4<T>;
     44#endif
     45
     46        typedef tvec2<sint8> i8vec2;
     47        typedef tvec3<sint8> i8vec3;
     48        typedef tvec4<sint8> i8vec4;
     49
     50        typedef tvec2<sint16> i16vec2;
     51        typedef tvec3<sint16> i16vec3;
     52        typedef tvec4<sint16> i16vec4;
     53
     54        typedef tvec2<uint8> u8vec2;
     55        typedef tvec3<uint8> u8vec3;
     56        typedef tvec4<uint8> u8vec4;
     57
     58        typedef tvec2< float > vec2;
     59        typedef tvec3< float > vec3;
     60        typedef tvec4< float > vec4;
     61
     62        typedef tvec2< int > ivec2;
     63        typedef tvec3< int > ivec3;
     64        typedef tvec4< int > ivec4;
     65
     66        typedef tmat2< float > mat2;
     67        typedef tmat3< float > mat3;
     68        typedef tmat4< float > mat4;
    5269
    5370        typedef glm::quat quat;
     
    6279
    6380        template <typename T>
    64         struct datatype_traits< glm::detail::tvec2<T> >
    65         {
    66                 typedef glm::detail::tvec2<T> type;
     81        struct datatype_traits< tvec2<T> >
     82        {
     83                typedef tvec2<T> type;
    6784                typedef typename type::value_type base_type;
    6885                static const size_t size = 2;
     
    7087
    7188        template <typename T>
    72         struct datatype_traits< glm::detail::tvec3<T> >
    73         {
    74                 typedef glm::detail::tvec3<T> type;
     89        struct datatype_traits< tvec3<T> >
     90        {
     91                typedef tvec3<T> type;
    7592                typedef typename type::value_type base_type;
    7693                static const size_t size = 3;
     
    7895
    7996        template <typename T>
    80         struct datatype_traits< glm::detail::tvec4<T> >
    81         {
    82                 typedef glm::detail::tvec4<T> type;
     97        struct datatype_traits< tvec4<T> >
     98        {
     99                typedef tvec4<T> type;
    83100                typedef typename type::value_type base_type;
    84101                static const size_t size = 4;
     
    255272
    256273        template <typename T>
    257         glm::detail::tvec3<T> normalize_safe(
    258                 const glm::detail::tvec3<T>& x,
    259                 const glm::detail::tvec3<T>& def = vec3()
     274        tvec3<T> normalize_safe(
     275                const tvec3<T>& x,
     276                const tvec3<T>& def = vec3()
    260277        )
    261278        {
    262                 typename glm::detail::tvec3<T>::value_type sqr = x.x * x.x + x.y * x.y + x.z * x.z;
     279                typename tvec3<T>::value_type sqr = x.x * x.x + x.y * x.y + x.z * x.z;
    263280                return ( sqr > 0 ? x * glm::inversesqrt(sqr) : def );
    264281        }
  • trunk/nv/stl/range.hh

    r395 r397  
    6666                template < typename T >
    6767                class range2d_iterator_base
    68                         : public forward_iterator_base< glm::detail::tvec2<T> >
    69                 {
    70                 public:
    71                         typedef forward_iterator_base< glm::detail::tvec2<T> > base_class;
    72 
    73                         range2d_iterator_base( glm::detail::tvec2<T> value, T min, T max )
    74                                 : forward_iterator_base< glm::detail::tvec2<T> >( value ), m_min(min), m_max(max) {}
     68                        : public forward_iterator_base< tvec2<T> >
     69                {
     70                public:
     71                        typedef forward_iterator_base< tvec2<T> > base_class;
     72
     73                        range2d_iterator_base( tvec2<T> value, T min, T max )
     74                                : forward_iterator_base< tvec2<T> >( value ), m_min(min), m_max(max) {}
    7575                        range2d_iterator_base& operator++ ()
    7676                        {
  • trunk/nv/stl/rtti_types.hh

    r395 r397  
    1616#include <nv/common.hh>
    1717#include <nv/stl/math.hh>
    18 #include <nv/stl/rtti_support.hh>
    1918
    2019NV_RTTI_DECLARE( void )
  • trunk/src/lua/lua_glm.cc

    r395 r397  
    5656        static inline T unit() { return T( 1, 1, 1 ); }
    5757        static inline T construct( lua_State* L, int index ) {
    58                 typedef glm::detail::tvec2<typename T::value_type> vec2;
     58                typedef nv::tvec2<typename T::value_type> vec2;
    5959                if ( lua_type( L, index ) == LUA_TUSERDATA )
    6060                {
     
    7777        static inline T unit() { return T( 1, 1, 1, 1 ); }
    7878        static inline T construct( lua_State* L, int index ) {
    79                 typedef glm::detail::tvec2<typename T::value_type> vec2;
    80                 typedef glm::detail::tvec3<typename T::value_type> vec3;
     79                typedef nv::tvec2<typename T::value_type> vec2;
     80                typedef nv::tvec3<typename T::value_type> vec3;
    8181                if ( lua_type( L, index ) == LUA_TUSERDATA )
    8282                {
     
    214214{
    215215        T v = to_vec<T>( L, 1 );
    216         for ( size_t i = 0; i < v.length(); ++i )
     216        for ( int i = 0; i < v.length(); ++i )
    217217        {
    218218                lua_pushnumber( L, v[i] );
     
    242242        {
    243243                switch (len) {
    244                 case 2 : push_vec( L, glm::detail::tvec2<typename T::value_type>( (*v)[nlua_swizzel_lookup[key[0]]], (*v)[nlua_swizzel_lookup[key[1]]] ) ); return 1;
    245                 case 3 : push_vec( L, glm::detail::tvec3<typename T::value_type>( (*v)[nlua_swizzel_lookup[key[0]]], (*v)[nlua_swizzel_lookup[key[1]]], (*v)[nlua_swizzel_lookup[key[2]]] ) ); return 1;
    246                 case 4 : push_vec( L, glm::detail::tvec4<typename T::value_type>( (*v)[nlua_swizzel_lookup[key[0]]], (*v)[nlua_swizzel_lookup[key[1]]], (*v)[nlua_swizzel_lookup[key[2]]], (*v)[nlua_swizzel_lookup[key[3]]] ) ); return 1;
     244                case 2 : push_vec( L, nv::tvec2<typename T::value_type>( (*v)[nlua_swizzel_lookup[key[0]]], (*v)[nlua_swizzel_lookup[key[1]]] ) ); return 1;
     245                case 3 : push_vec( L, nv::tvec3<typename T::value_type>( (*v)[nlua_swizzel_lookup[key[0]]], (*v)[nlua_swizzel_lookup[key[1]]], (*v)[nlua_swizzel_lookup[key[2]]] ) ); return 1;
     246                case 4 : push_vec( L, nv::tvec4<typename T::value_type>( (*v)[nlua_swizzel_lookup[key[0]]], (*v)[nlua_swizzel_lookup[key[1]]], (*v)[nlua_swizzel_lookup[key[2]]], (*v)[nlua_swizzel_lookup[key[3]]] ) ); return 1;
    247247                default: break;
    248248                }
     
    258258int nlua_vec_newindex( lua_State* L )
    259259{
    260         typedef glm::detail::tvec2<typename T::value_type> vec2;
    261         typedef glm::detail::tvec3<typename T::value_type> vec3;
    262         typedef glm::detail::tvec4<typename T::value_type> vec4;
     260        typedef nv::tvec2<typename T::value_type> vec2;
     261        typedef nv::tvec3<typename T::value_type> vec3;
     262        typedef nv::tvec4<typename T::value_type> vec4;
    263263
    264264        T* v = to_pvec<T>( L, 1 );
  • trunk/src/sdl/sdl_audio.cc

    r395 r397  
    7575                        if ( relative != vec3() )
    7676                        {
    77                                 angle = -glm::orientedAngle( m_forward, glm::normalize( relative ), m_up );
     77                                angle = glm::degrees( -glm::orientedAngle( m_forward, glm::normalize( relative ), m_up ) );
    7878                                distance = glm::clamp( 20.0f * glm::length( relative ), 0.0f, 255.0f );
    7979                        }
Note: See TracChangeset for help on using the changeset viewer.