Jump to content
  • Advertisement
Sign in to follow this  
efegea

Model and level format for software rendering

This topic is 3802 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm working on a 3d engine for a game for the 200Mhz ARM-based GP2X portable console that uses Trenki's rasterizer for software rendering (it's a rasterizer that doesn't have fixed pipeline, only vertex and pixel shaders, but that work on software rather than hardware) So I have very little power for rendering. I'm looking for model a level formats that can work on such little requeriments. For model I need both animated characters and still objects. I think skeletal animation is out of the question, because *I think* it needs more horsepower than keyframe animation, but if it's possible with some format I'll be happy (I prefer skeletal over keyframe animation) Would be better to create my own formats? I can learn to write Blender export scripts on Python, but I'll need some guide to create my own formats.. I need some orientation about how to do it (the format design, not the Python export scripts) I hope you can suggest me a good format with these requeriments and if possible, the best tool which can be used to create the models (blender, maya, 3D studio max..I prefer Blender because I'm a linux user, but my experience with its export plugins is not so good) (Quake II's MD2 format is not a valid option: it lacks texture indices or something like that, which makes it impossible to render using vertex arrays, and the software renderer doesn't have inmediate mode)

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by efegea
For model I need both animated characters and still objects. I think skeletal animation is out of the question, because *I think* it needs more horsepower than keyframe animation, but if it's possible with some format I'll be happy (I prefer skeletal over keyframe animation)


Hierarchical animation is pretty cheap, and should be very do-able - much like the hierarchical models of Unreal 1....

Skinning is computationally more expensive, but not out of the realm of possibility - and you can always resort to a single bone weight per vertex (and then ignore the weights completely), which should be more or less the same speed as transforming the verts.... (In the past I've had smooth skinning running on old 166Mhz pentiums, and 200Mhz Mips processors with respectable frame-rates for relatively complex models - long before the days of GPU skinning). I assume
>this guy has managed to get skinning working, so i assume the hardware can handle it.

Quote:
Original post by efegea
Would be better to create my own formats?


almost certainly. MD2 files after all were designed to use the smallest amount of memory possible (note the compression technique used on the vertex data). In general, design the format to meet your requirements.

Quote:
Original post by efegea
I can learn to write Blender export scripts on Python, but I'll need some guide to create my own formats.. I need some orientation about how to do it (the format design, not the Python export scripts)


But i wouldn't export from the 3D package into game format directly. I'd probably use [insert whatever export format gives you the required data here] as an intermediate format, and export to [your own custom format].

Share this post


Link to post
Share on other sites
Quote:
Original post by RobTheBloke I assume
>this guy
has managed to get skinning working, so i assume the hardware can handle it.


That guy is me, and that video is running on a 2,4Ghz athlon64 cpu, and runs at about 75fps, don't think on the target device will run any fast.. But this doesn't mean skinning will not work at a decent speed, only that CAL3D and that specific model won't. Perhaps a model with less polygons and less bone weights per vertex should run faster.

Quote:
But i wouldn't export from the 3D package into game format directly. I'd probably use [insert whatever export format gives you the required data here] as an intermediate format, and export to [your own custom format].


Why? Isn't that like adding one more layer of complexity? I've read before people suggesting to use an intermediate format but don't know why

Share this post


Link to post
Share on other sites
Quote:
Original post by efegea
Quote:
Original post by RobTheBloke I assume
>this guy
has managed to get skinning working, so i assume the hardware can handle it.


That guy is me


That was the funniest quote I heard the entire day [lol]

Sorry, I can't help you much. However, how much RAM is available to you?
What's the intended screen resolution?

You probably can't do much... but for today's standard. This thread reminds me the old days (but look! your video shows a toon shaded game! old school with a new touch), where we were very limited, and disabling perspective correction and bilinear filtering improved performance greatly.

Good luck
Dark Sylinc

Share this post


Link to post
Share on other sites
Quote:
Original post by efegea
Perhaps a model with less polygons and less bone weights per vertex should run faster.


How many weights do you have now? You only need 2 for decent looking skinned characters, and you can get away with 1 if you're careful about how you rig the models.

Share this post


Link to post
Share on other sites
Quote:
Original post by efegea
Quote:
But i wouldn't export from the 3D package into game format directly. I'd probably use [insert whatever export format gives you the required data here] as an intermediate format, and export to [your own custom format].


Why? Isn't that like adding one more layer of complexity? I've read before people suggesting to use an intermediate format but don't know why


The advantage of just converting an existing format is that you don't have to write or maintains all the plugins to pull data out of the modeling/animation tools (which can be a huge amount of work in themselves if you do them right). Another option would be to implement your custom format as a plugin on top of the FBX data model - this would let you convert any format FBX can read into your own data format (and FBX handles lots of nasty animation/coordinate system conversion/baking for you).

As long as you pick a well supported intermediate format, you can instantly support incoming data from nearly any of the big art packages without having all the work of supporting them yourself.



Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!