I looked at the YouTube: cool!!! After working with OpenGL, you basically need to calculate which is nearer or farther away from the 'eye' I don't believe there is anything native in Gambas, this is very unique. But I am thinking...
---------- Original Message ----------- From: Kevin Fishburne <kevinfishbu...@eightvirtues.com> To: gambas-user@lists.sourceforge.net Sent: Mon, 09 May 2011 20:27:53 -0400 Subject: Re: [Gambas-user] gb3: sorting an array-like structure > On 05/05/2011 07:50 AM, Fabien Bodard wrote: > > 2011/5/5 Kevin Fishburne<kevinfishbu...@eightvirtues.com>: > >> On 05/05/2011 06:31 AM, Fabien Bodard wrote: > >>> We use that to sort icons in the iconview component > >>> > >>> take a look in the source > >>> > >>> trunk/comp/gb.form > >>> > >>> IconView.class > >>> > > > > > > it depend what you want to sort !!! > > > > say us please > > > > and more simply > > > > Alright. Basically I have an array of structures. Each structure > represents an object in the game world. Each frame/loop I examine all > the objects' coordinates to determine which ones are inside the > rendering area. Finally the visible objects' positions are rotated to > match the orientation of the player and rendered to the screen. > > I need to maintain an index of the objects' rotated y coordinates and > sort it. It will only be sorted when the player changes orientation (or > if an object is moved by another player or physics). I need to know the > order that each object should be rendered in so that they overlap > properly. Rendering them in order by their post-rotated y coordinate > should accomplish this. > > Right now objects are drawn in the order they appear in the array of > object structures (random relative to their world coordinates). It needs > to change dynamically based on player orientation and each object's > coordinates. You can see the results of unsorted object rendering in > this video: > > http://www.youtube.com/watch?v=HpvIcGYHVLY > > Sometimes rocks are behind the trees, sometimes they are in front. It's > a mess. > > The player and other players' positions will also have to be added into > this array of object numbers and y coordinates. I'd prefer to maintain a > separate array, which will hopefully be faster than sorting the entire > array of object structures. The hypothetical array to be sorted would > look something like this: > > Public RenderOrder[32767, 2] As Single ' [ObjectsTotal, 0 = > ObjectNumber, 1 = ObjectY] > > The array would be sorted by ObjectY, or RenderOrder[x, 1]. An example > of before/after values would look like this: > > Unsorted/Before: > RenderOrder[0, 0] = 10 ' Object 10 > RenderOrder[0, 1] = 6000 ' Object 10 Y coordinate > RenderOrder[1, 0] = 20 ' Object 20 > RenderOrder[1, 1] = 2000 ' Object 20 Ycoordinate > > Sorted/After: > RenderOrder[0, 0] = 20 ' Object 20 > RenderOrder[0, 1] = 2000 ' Object 20 Y coordinate > RenderOrder[1, 0] = 10 ' Object 10 > RenderOrder[1, 1] = 6000 ' Object 10 Ycoordinate > > Think of it like a spreadsheet instead of an array. I need each "row" > sorted by the value in a "column". The two column values are > ObjectNumber and ObjectY and the row represents the array index. > > There's got to be something like this in GAMBAS, but if not I can start > Google searching sort algorithms and make a procedure. > > -- > Kevin Fishburne > Eight Virtues > www: http://sales.eightvirtues.com > e-mail: sa...@eightvirtues.com > phone: (770) 853-6271 > > ------------------------------------------------------------------------------ > Achieve unprecedented app performance and reliability > What every C/C++ and Fortran developer should know. > Learn how Intel has extended the reach of its next-generation tools > to help boost performance applications - inlcuding clusters. > http://p.sf.net/sfu/intel-dev2devmay > _______________________________________________ > Gambas-user mailing list > Gambas-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gambas-user ------- End of Original Message ------- ------------------------------------------------------------------------------ Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user