Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

markhsch

Technology Combining

This topic is 6155 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

Even though I subscribe to the "anything is possible" mindset when it comes to programming, I need some help on clarifying something. Hopefully the question will come out clear enough. Okay, let''s say I want to create a space scene. Within this scene are the usual entities such as planets, jumpgates, etc... This part is trivial. So, let''s now add a quake style level to the mix here. Let''s say I created a space station with both interior and exterior environments. Also, I want this space station to see the planets, other space ships flying around. If that wasn''t enough, I also want the space station to also have the ability to move throughout the system. Question: Is this possible? With the BSP engines I see, the "level" is static and doesn''t move. There are objects around that level that move. Does this make sense? Is it possible, and if so, where should I start looking (or what is the general idea behind something like this). -Mark

Share this post


Link to post
Share on other sites
Advertisement
Disclaimer: I am not an expert, and have never implemented this.

To my mind you would handle the "scenery" as two discrete entities - internal and external. You could project a view of the current position in space onto a bitmap and then place that as the furthest plane (so when you looked out the station windows, you''d see the appropriate section). This would require you to "re-render" this backdrop every time the view changed. You could say that objects closer than a given threshold (in your case, the station would need to be basically within its orbit) should be handled as full 3D objects, while the rest are projected to this backdrop.

You could have prerendered backdrops, but you''d get that 2D parallax effect. You could try and handle both interior and exterior in 3D, but I cringe to think of the performance requirements (and you still need some processing power for your models).

Good luck. These are my thoughts. You may fire when ready.

Share this post


Link to post
Share on other sites
quote:
Original post by Oluseyi
Disclaimer: I am not an expert, and have never implemented this.

To my mind you would handle the "scenery" as two discrete entities - internal and external. You could project a view of the current position in space onto a bitmap and then place that as the furthest plane ---snip---



Well...hmmm. That is a good solution as far as what object to push down the pipeline, but not quite what I was looking for. I guess to put it in simpler terms, can I place a BSP level (Quake level e.g.) inside a bigger environment have the ability to in effect move the entire level within that environment.

Here''s an example. A make a BSP level (what''s the correct term here?). I also make a basic box mesh. I place both of these into a large area (space). With the box being stationary, can I move the BSP level towards it and (for instance) have the user jump off the BSP level onto that stationary block?



Share this post


Link to post
Share on other sites
Yes it''s possible. A BSP tree is static only in terms of the geometry that makes up that part of the level, because it takes so long to compute. The BSP tree can be transformed however you like within space, as long as operations you apply on the BSP tree take into account the appropriate frame of reference.

Now, that being said, my approach to this problem (which appears to be quite popular at the moment), is to make use of portals. There is no point drawing the sky if you can''t see it, right? So, the interior of the space station is split into what are called cells, with portal polygons between them. Recursively clip the view cone to the portals in the current cell, and draw each cell. That way you''ll only draw visible cells, as well as drawing the sky only when it is (potentially) visible. You can make use of BSP trees per cell if you require, but having small cells may negate the need for them.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

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

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!