Changeset 327 for trunk


Ignore:
Timestamp:
09/02/14 03:37:47 (11 years ago)
Author:
epyon
Message:
  • minor fix to array2d
  • window_manager fix for planet_test
Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/nv/core/array2d.hh

    r323 r327  
    8787                        if (new_size == m_size) return; // Don't do anything if the sizes are the same.
    8888
    89                         pointer new_data = new value_type[ new_size.x * new_size.y ];
     89                        pointer new_data = ( (new_size.x * new_size.y != 0) ? new value_type[ new_size.x * new_size.y ] : nullptr );
    9090                        if ( m_data != nullptr )
    9191                        {
    92                                 if (!preserve)
    93                                 {
    94                                         // Just delete the data.
    95                                         delete[] m_data;
    96                                 }
    97                                 else
     92                                if ( new_data && preserve )
    9893                                {
    9994                                        // Copy the data.  Truncates the bottom or right side of the data if destination is smaller.
     
    10297                                                std::copy( m_data + m_size.x * i, m_data + m_size.x * i + min( new_size.x, m_size.x ), new_data + m_size.x * i );
    10398                                        }
    104                                         // ...then delete the original data.
    105                                         delete[] m_data;
    10699                                }
     100                                delete[] m_data;
    107101                        }
    108102                        m_data = new_data;
  • trunk/tests/planet_test/nv_planet_test.cc

    r324 r327  
    11#include <nv/gfx/keyframed_mesh.hh>
    22#include <nv/gl/gl_device.hh>
     3#include <nv/sdl/sdl_window_manager.hh>
    34#include <nv/gfx/image.hh>
    45#include <nv/gfx/debug_draw.hh>
     
    2324        nv::mesh_data* generate_box();
    2425        nv::mesh_data* generate_subdiv_sphere( int levels );
    25 
     26        nv::window_manager* m_wm;
    2627        nv::device*      m_device;
    2728        nv::window*      m_window;
     
    103104{
    104105        NV_PROFILE( "app_construct" );
     106        m_wm      = new nv::sdl::window_manager;
    105107        m_device  = new nv::gl_device();
    106         m_window  = m_device->create_window( 800, 600, false );
     108        m_window  = m_wm->create_window( m_device, 1024, 800, false );
    107109        m_context = m_window->get_context();
    108110
     
    142144        int keypress = 0;
    143145
    144         nv::uint32 ticks   = m_device->get_ticks();
     146        nv::uint32 ticks   = m_wm->get_ticks();
    145147        nv::uint32 last_ticks;
    146148        nv::fps_counter_class< nv::system_us_timer > fps_counter;
     
    150152        {
    151153                last_ticks = ticks;
    152                 ticks      = m_device->get_ticks();
     154                ticks      = m_wm->get_ticks();
    153155                nv::uint32 elapsed = ticks - last_ticks;
    154156                m_context->clear( m_clear_state );
    155                 glm::vec3 eye = glm::rotate( glm::vec3( 2.0f, 0.0f, 0.0f ), (ticks / 20.f), glm::vec3( 0.0,1.0,0.0 ) );
     157                glm::vec3 eye = glm::rotate( glm::vec3( 3.0f, 0.0f, 0.0f ), (ticks / 20.f), glm::vec3( 0.0,1.0,0.0 ) );
    156158//              eye = glm::vec3( 3.0f, 0.0f, 0.0f );
    157159                m_scene_state.set_model( nv::mat4(1.0f) );
  • trunk/tests/planet_test/planet_test.lua

    r324 r327  
    44        includedirs { "../../" }
    55        targetname "nv_planet_test"
    6         links { "nv-core", "nv-gl", "nv-formats" }
     6        links { "nv-core", "nv-gl", "nv-formats", "nv-sdl" }
    77        targetdir "../../bin"   
    88 
Note: See TracChangeset for help on using the changeset viewer.