Hi !
Featured games (84)
games approved by the League of Dukes
Games in Showcase (594)
Games in Android Showcase (168)
games submitted by our members
Games in WIP (646)
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  
  LWJGL openGL - set new position of vertex array  (Read 1536 times)
0 Members and 1 Guest are viewing this topic.
Offline Kronos

Junior Devvie

Medals: 1

« Posted 2013-11-14 16:34:38 »


I got a massive problem to understand how I can set a new position of my vertex array.

If this is my quad

float[] vertices =
    -1.0f, -1.0f, 1.0f,
          1.0f, -1.0f, 1.0f,
          -1.0f, 1.0f, 1.0f,
          1.0f, 1.0f, 1.0f,

          -1.0f, -1.0f, -1.0f,
          1.0f, -1.0f, -1.0f,
          -1.0f, 1.0f, -1.0f,
          1.0f, 1.0f, -1.0f,

          -1.0f, 1.0f, 1.0f,
          1.0f, 1.0f, 1.0f,
          -1.0f, 1.0f, -1.0f,
          1.0f, 1.0f, -1.0f,

          -1.0f, -1.0f, 1.0f,
          1.0f, -1.0f, 1.0f,
          -1.0f, -1.0f, -1.0f,
          1.0f, -1.0f, -1.0f,

          -1.0f, -1.0f, 1.0f,
          -1.0f, 1.0f, 1.0f,
          -1.0f, -1.0f, -1.0f,
          -1.0f, 1.0f, -1.0f,

          1.0f, -1.0f, 1.0f,
          1.0f, 1.0f, 1.0f,
          1.0f, -1.0f, -1.0f,
          1.0f, 1.0f, -1.0f};

And I want that quad to move, do I have to iterate through each vertex and change it? glTranslatef() is a possibilty, BUT the vertices aren't changed, so I cannot make a collision detection, right? It will only be moved on the screen as I render it, but the numbers would be the same. So how can I do this effiently? I'am really suprised, because every single tutorial (written or youtube) do not cover this. They only translate them around, and that should be all?? BTW, has anyone a good collision detection tutorial for me? I really appreciate any help  Kiss
Offline Seiya02

JGO Coder

Medals: 7
Projects: 4
Exp: 5 years

No Text Here :x

« Reply #1 - Posted 2013-11-14 16:54:25 »

How are you using the vertices inside the Vertex Array for collision? usually you should use a class you made called "" or so for collision detection which has the position and data like width height depth? so actually you should use glTranslatef(); with the coordinates you get from the object of the class "" to draw it at the right position and collision detection should be calculated with the data inside the Object no?

Offline Kronos

Junior Devvie

Medals: 1

« Reply #2 - Posted 2013-11-14 17:55:34 »


I currently  have these fixed vertices and add a value on the x and z axis to "move" them. This is done by a loop. So I'm iterating over all vertices and add a value. Because I think (I might be very very wrong), that "only" translating them, won't do anything on the vertices. The data is the same. So how could I possibly check for collision, if i check always the same information. I have to change them. But how? With stupid for loops?! Not really Cheesy
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Danny02
« Reply #3 - Posted 2013-11-14 18:08:59 »

You do not use your render data for collision detection. You have two data sets one for rendering and one for collision. In most cases the data you need for collision is much simpler.

i.e. let's say that you use 1000 triangles to render a sphere, but to calculate the collision you just need the center position and the radius.

In more complex games you have a simplified collision mesh. Say you have a nice detailed 3D character with some thousand triangles, you collision mesh would just be a collection of some basic shapes. The head would be a sphere the arms and legs a some boxes and so on.

You can even use different collision meshes for different tasks. For example ego-shooters use a simple box to check the collision of a player with the world and a more detailed one (aka hit-boxes) to detect hits.
Offline Kronos

Junior Devvie

Medals: 1

« Reply #4 - Posted 2013-11-14 18:24:11 »

Hey that really brought light into it. Thanks a lot. So I render my stuff and moving them around with translations and so on. And If I want to check for collision, I use the ordinary xyz with height depth values, which I change simultaneously!? That makes sense. By the way, using the SAT for collision detection is the right ways, or?

Another question. As I said, these vertices are fixed. I have a class Cube(x, y, z, width, height, depth), how would you bring them in the array?
Offline Danny02
« Reply #5 - Posted 2013-11-14 22:49:42 »

write a factory method which generates a mesh from a Cube?
class Mesh{
  static Mesh from(Cube c);
  static Mesh from(Sphere s, float tesselation);
Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

Riven (22 views)
2015-07-03 11:22:16

deepthought (46 views)
2015-06-30 15:39:44

deepthought (49 views)
2015-06-30 15:39:09

deepthought (62 views)
2015-06-30 15:36:52

Za\'Anzabar (33 views)
2015-06-29 05:44:54

TritonDreyja (45 views)
2015-06-24 17:10:40

CopyableCougar4 (44 views)
2015-06-23 00:34:45

BurntPizza (48 views)
2015-06-21 20:36:46

cookiecompiler (90 views)
2015-06-11 15:42:53

cookiecompiler (54 views)
2015-06-11 15:41:14
How Do I Expand My Game?
by bashfrog
2015-06-14 11:34:43

List of Learning Resources
by PocketCrafter7
2015-05-31 05:37:30

Intersection Methods
by Roquen
2015-05-29 08:19:33

List of Learning Resources
by SilverTiger
2015-05-05 10:20:32

How to: JGO Wiki
by Mac70
2015-02-17 20:56:16

2D Dynamic Lighting
by ThePixelPony
2015-01-01 20:25:42

How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21

Resources for WIP games
by kpars
2014-12-18 10:26:14 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‑
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!