Ignore:
Timestamp:
06/20/08 20:22:58 (17 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/chcdemo.cpp

    r2793 r2794  
    9595bool upKeyPressed = false; 
    9696bool downKeyPressed = false; 
     97bool nineKeyPressed = false; 
     98bool eightKeyPressed = false; 
     99 
    97100 
    98101void InitExtensions(); 
     
    125128 
    126129void KeyHorizontalMotion(float shift); 
     130void KeyVerticalMotion(float shift); 
    127131void KeyRotate(float angle); 
    128132 
     
    441445 
    442446 
     447void KeyVerticalMotion(float shift) 
     448{ 
     449        Vector3 uvec = Vector3(0, 0, shift); 
     450 
     451        Vector3 pos = camera->GetPosition(); 
     452        pos += uvec; 
     453         
     454        camera->SetPosition(pos); 
     455} 
     456 
     457 
     458 
    443459void Display()  
    444460{ 
     
    451467        if (downKeyPressed) 
    452468                KeyHorizontalMotion(-keyForwardMotion); 
     469        if (eightKeyPressed) 
     470                KeyVerticalMotion(keyForwardMotion); 
     471        if (nineKeyPressed) 
     472                KeyVerticalMotion(-keyForwardMotion); 
    453473 
    454474        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
     
    471491void KeyBoard(unsigned char c, int x, int y)  
    472492{ 
    473         // used to avoid vertical motion with the keys 
    474         Vector3 hvec = Vector3(camera->GetDirection()[0], camera->GetDirection()[1], 0.0f); 
    475         Vector3 uvec = Vector3(0, 0, 1); 
    476          
    477493        switch(c)  
    478494        { 
     
    514530        case '8': 
    515531                { 
    516                         Vector3 pos = camera->GetPosition(); 
    517                         pos += uvec * keyForwardMotion; 
    518                         camera->SetPosition(pos); 
     532                        eightKeyPressed = true; 
     533                        KeyVerticalMotion(keyForwardMotion); 
    519534                        break; 
    520535                } 
    521536        case '9': 
    522537                { 
    523                         Vector3 pos = camera->GetPosition(); 
    524                         pos -= uvec * keyForwardMotion; 
    525                         camera->SetPosition(pos); 
     538                        nineKeyPressed = true; 
     539                        KeyVerticalMotion(-keyForwardMotion); 
    526540                        break; 
    527541                }        
     
    627641                downKeyPressed = false; 
    628642                break; 
     643        case '8': 
     644                eightKeyPressed = false; 
     645                break; 
     646         
     647        case '9': 
     648                nineKeyPressed = false; 
     649                break; 
     650         
    629651        default: 
    630652                return; 
Note: See TracChangeset for help on using the changeset viewer.