Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


cozzie

Member Since 13 Oct 2004
Offline Last Active Today, 07:20 AM

#5213214 Render Queue Design

Posted by cozzie on 26 February 2015 - 04:45 PM

I think you're in the right direction.
To make this really beneficial you can make a "key" (bitkey) for each renderable, so you can use bitwise sorting to sort anyway you like. For example on depth (far to near for non-opaque objects). In the end I think the definition of an object in this case is a renderable/subobject (set of vertices/polys which share a transformation and material), because these properties you need for sorting. For any "higher level" with more transforms, materials etc., the sorting would be less useful.

Here's a nice topic on the bitkeys and sorting:
http://www.gamedev.net/topic/659607-sorting-a-bucket/

Reading your question I'd say you got the basics to start off and see how it goes along the way


#5213057 New Coder Struggles - What To Do Next?

Posted by cozzie on 26 February 2015 - 04:25 AM

I read 2 questions :)
On "what to do next", I would:

- define your game with a (limited) set of features
- finish the game completely

- define a new game with other/ more features that beed stuff you want to learn more about
- finish fully and start again

That way you both keep learning and get games under your belt/ build up a portfolio


#5213047 Order of matrix multiplication

Posted by cozzie on 26 February 2015 - 02:00 AM

When you do it manually I believe it was scale, rotate, translate. Make sure you rotate before you translate, so the origin you rotate around is not changed.

You might also wanna check this out: http://www.gamedev.net/topic/655668-understanding-a-d3dx-model-matrixs-content/

Also I suggest to do this on the CPU Side and not in a shader, because it's model related and doesn't differ per vertex or pixel.


#5212555 Is it time to upgrade to Dx11?

Posted by cozzie on 23 February 2015 - 04:59 PM

I find this both a good and difficult question. To illustrate, I'm in a similar position, having the dx11 book from frank luna lying around for half a year. Personally I can do what I want with dx9 for now, making simple games, improving my engine. On the other hand, there are features that will be "easier" with dx11. Everything that you learn new, can be a potential waste if you have to learn it all over again.

My advice would be to play around with dx11, learn the basics in a separate/ standalone application, and then decide. That's probably what I'm gonna try myself.


#5212303 Succesful titles from non AAA studios (recent)

Posted by cozzie on 22 February 2015 - 12:49 PM

Thanks, that makes 3.
Any more?


#5212270 Is buying assets cheating?

Posted by cozzie on 22 February 2015 - 09:05 AM

I also believe one cannot be talented in every aspect of game development.
Games mostly come from teams,, be it 3, 10 or hundreds of persons.


#5212268 Deferred Shading

Posted by cozzie on 22 February 2015 - 09:03 AM

I also read about tile based rendering, not sure if that counts as a 3rd option, but you might look it up


#5212096 Succesful titles from non AAA studios (recent)

Posted by cozzie on 21 February 2015 - 07:03 AM

Hi,
Just out of curiosity, what succesfull recent titles can we think of, from non AAA studios?
(let's say from studios or groups of less then 20 people)


#5211878 Is it a good idea to make game mods to practice game design?

Posted by cozzie on 20 February 2015 - 07:35 AM

I fully agree. If you want to join a studio eventually, Mods in your portfolio can be equally important as DIY work from ground up (ofcourse depending on the role you're aiming at).

Another benefit is that you might find out what really drives you/ you like most (and can do best).


#5211396 What do you use for handling sounds?

Posted by cozzie on 18 February 2015 - 04:53 AM

FMOD works great for me. I don't expect a new audio API from Oculus will beat FMOD (on flexibility, functionality and platform coverage).


#5208021 Light-weight render queues?

Posted by cozzie on 01 February 2015 - 05:54 AM

Just some pointers/ what I do.

- a scene has mesh instances and meshes
- a mesh instance points to a mesh
- a mesh instance has a transform matrix and a flag "dynamic"
- a mesh instance consists of renderables
- a renderable has a transform matrix, material id and also a flag "dynamic"

Transformations:
- loop through ALL mesh instances and update transforms if dynamic is set (true)
- loop through renderables within instances and update only if dynamic
- if parent is dynamic and it's renderables aren't then I dont update transforms of renderables, because it's a transform relative to parent (mesh instance)
- a renderable has a vector of ints with point light id's that affect the renderable (updated if objects and or lights are dynamic)

Queue:
- I defined a renderable struct, keeping track for each renderable of: mesh id, instance id, renderable id, material id, dist to camera
- this is stored as a bitkey (uint64) for easy sorting as you want

Rendering:
- cull all parents and if intersect also cull children (renderables)
- cull lights and update everything
- loop through all renderables and if visible add their id to a simple int vector
- simply render all renderables pointed to in thenint (index) vector

This gives great flexibility for sorting, for example I have 2 int indices, one for blended to, where I sort the bit keys based on distance to camera (back to front).

Hope this helps.


#5207137 Confused about XMFLOAT2 and D3DXVECTOR2

Posted by cozzie on 28 January 2015 - 04:46 AM

Arka is right. You can use XMFLOAT types for example as class members, then in your (member) functions with local scope you load them into XMVECTOR type, apply stuff with the XM functions and then store them back into the XMFLOAT. That was using the instructions/ advantages Nightcreature mentioned. Same goes for XMFLOAT3, 4, 4x4 (matrix) etc


#5206439 My 3D textures

Posted by cozzie on 24 January 2015 - 01:50 PM

That's pretty neat.
What sort off maps do you make per texture? (diffuse, normal,..)


#5204262 what kind of questions should I expect in a web developer Interview

Posted by cozzie on 14 January 2015 - 12:43 PM

Just some long shots:
- what have you delivered in the past that you're most proud of
- what would you improve on our website (always be honest)
- where do you want to be in 3 years?
- why our company?


#5203319 Speeding up cpu side of rendering engine

Posted by cozzie on 10 January 2015 - 02:00 PM

I didn't read i all, but if I understand correctly, you only need to set a vertexbuffer, texture and material once. And then just render all objects by just passing their world matrix and committing.

Do you really need the 12.000 objects to be individual objects?
If not, why not bundle them into a few objects and see how that goes, for example setting 1 world matrix to the shader instead of a couple of thousand might help you.




PARTNERS