Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (513)
Games in Android Showcase (120)
games submitted by our members
Games in WIP (577)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Mouseinput and MatrixView (OpenGL 3.2)  (Read 714 times)
0 Members and 1 Guest are viewing this topic.
Offline gndn

Junior Newbie





« Posted 2013-02-10 13:31:50 »

Hello.
I'm trying to implement/add mouse to my test app. My test app is one of the LWJGL OpenGL 3.2 app from wiki page
http://lwjgl.org/wiki/index.php?title=The_Quad_with_Projection,_View_and_Model_matrices

What I did:
- before while loop in the constructor I add this part of code:
1  
2  
Mouse.setCursorPosition(800/2, 600/2);
Mouse.setGrabbed(true);


- in method "logicCycle()" before "// Translate camera" i added this part of code:
1  
2  
3  
4  
5  
6  
if(Mouse.isGrabbed()) {
   horizontalAngle+= mouseSpeed * Mouse.getDX();
   verticalAngle+= mouseSpeed * Mouse.getDY();

   mouse();
}


where
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
float horizontalAngle = 3.14f;
float verticalAngle = 3.14f;
private float mouseSpeed = 0.005f;

private Vector3f direction = new Vector3f();
private Vector3f right = new Vector3f();
private Vector3f up = new Vector3f();

public void mouse(){
        direction.set(
                        (float)Math.cos(verticalAngle) * (float)Math.sin(horizontalAngle),
                        (float)Math.sin(verticalAngle),
                        (float)Math.cos(verticalAngle) * (float)Math.cos(horizontalAngle));
       
        right.set(
                        (float)Math.sin(horizontalAngle - PI/2.0f),
                        0,
                        (float)Math.cos(horizontalAngle - PI/2.0f));
        up = cross(right, direction);
       
        viewMatrix.m00 = up.x;
        viewMatrix.m01 = up.y;
        viewMatrix.m02 = up.z;
        viewMatrix.m10 = right.x;
        viewMatrix.m11 = right.y;
        viewMatrix.m12 = right.z;
        viewMatrix.m20 = direction.x;
        viewMatrix.m21 = direction.y;
        viewMatrix.m22 = direction.z;          
}

private Vector3f cross(Vector3f b, Vector3f c){
        Vector3f cross = new Vector3f();
        cross.x = (b.y*c.z) - (b.z*c.y);
        cross.y = (b.z*c.x) - (b.x*c.z);
        cross.z = (b.x*c.y) - (b.y*c.x);
        return cross;
}


Of course mouse working but not correctly, camera is set in strange positions.
Based on this example app (which display only square), when I turn to the right by 90 degrees and I move the mouse to up another 90 degrees square will be on bottom camera but still should be on the left.
Please HELP I start freaking out how to count this matrix. I assume i have bad count in mouse method.
Offline akzyl

Senior Newbie





« Reply #1 - Posted 2013-02-14 08:14:31 »

It seems that the code works fine problem lies in the fact that the camera is turned to the left by 90 degrees.
If the mouse is turned off camera back to the normal.
It seems that you need to set something more but i don't have idea what.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Longarmx (52 views)
2014-10-17 03:59:02

Norakomi (44 views)
2014-10-16 15:22:06

Norakomi (34 views)
2014-10-16 15:20:20

lcass (38 views)
2014-10-15 16:18:58

TehJavaDev (68 views)
2014-10-14 00:39:48

TehJavaDev (68 views)
2014-10-14 00:35:47

TehJavaDev (60 views)
2014-10-14 00:32:37

BurntPizza (73 views)
2014-10-11 23:24:42

BurntPizza (45 views)
2014-10-11 23:10:45

BurntPizza (86 views)
2014-10-11 22:30:10
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!