• Advertisement
Sign in to follow this  

Working with skybox cube.x file and textures defined in it question

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

So I'm implementing a skybox starfield (related post down below) and in studying the how to's I notice there are about six ways to do this that jump out at me from either books or the internet.  

 

Some of them render the cube itself in code and then apply the textures.  Then in doing Reiner's XNA tutorial with the xwing he actually uses a skybox cube.x file which is a DirectX cube that he applies the textures to.

 

So I decided to try that route simply because its less code and it lets me work with models some more, which is something that I definitely need some brushing up on.

 

Now Reiner's xwing tutorial skybox has six predefined textures that he uses that go with the cube and these are brought into your resource pipeline.  No worries there, I did some studying on how to cubemap an image file and I found a nice nasa image that I went through and cubed into 512x512 squares which I want to apply to my skybox cube.

 

Here's the part I'm stuck on.  The .x file that Reiner uses was modified by him to have the image files hard coded into it.  Now I'm not an expert on .x files, which is a part of my problem here, so what it looks like this is doing is telling the cube to look for the images named "x" (where x is defined in the file) and apply them and that somehow it will magically do this on its own.

 

That's the part I'm stuck on.  

 

  • Is the cube's .x file defining the absolute location of the graphics files?
  • If yes then all I should have to do is rename the .x file files within to match my cube images?
  • if no where do I put my textures and how do I reference them from the .x file?  

I have looked about and cannot find a decent example dealing with just this.  It seems rather simple but any clarification would be appreciated.

 

Second topic:  is using a model of a cube less efficient than just donig what a lot of examples I have read do which is simply rendering the cube myself with code?

Share this post


Link to post
Share on other sites
Advertisement

I've made a cube sky box for a free game we are building so you can have a look at the example project I made for it if you wish:

http://shared.xpod.be/SkyBoxGame_XNA4.zip

 

It's been created to work specifically with the free Spacescape software so you shouldnt have any problem making your own sky textures.

 

Aimee

Share this post


Link to post
Share on other sites

I appreciate it very much.  I will be sure to check out your example this evening when I am back on my project.  

Regards

EDIT: wow that is a nice site... I wish I had known of that sooner :D  granted I think I was able to cube my texture pretty well but if not this could be awesome for other areas of the galaxy to give different skyboxes.

Edited by IcedCrow

Share this post


Link to post
Share on other sites
Hi. You could just rename your texture file names to the ones in the.X file

Share this post


Link to post
Share on other sites

I could but I was trying to understand where the textures needed to be located in the first place.  Renaming the files wouldn't have allowed me to understand what was going on (and the names he was using do not mean anything in my example as his names had nothing to do with starfields)  My issue with the cube was that the .x file defined the textures in a certain location and I had to figure that part out.

 

The example given above by AmzBee is what I went with.  Her example was actually quite easy to follow, and instead of a cube model it utilized simple quads drawn to form a cube.  I just had to move some things around and pass a camera object in and it took all of 15 minutes for me to get the code situated and it ran properly the first compile.

Share this post


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

  • Advertisement