First off, the preliminaries:
I'm an actual game developer, though I've worked exclusively on consoles and mostly audio and network coding. I'm wanting to do lightweight home games in my spare time for me and my friends.
I'm doing this on a laptop with a GeForceFX Go5200. I have the December DX SDK installed, and I'm using VS 2005 Standard (hooray for launch events).
I decided it would be a good idea to follow the Coding4Fun "Beginning Game Development" tutorials to get a feel for managed DX. I printed them out and started working.
I'll be using the C# code from here to explain my issue. It's the sample code from tutorial 4 from the Coding4Fun Game Development stuff.
If you compile and run this solution, you should get a window with a low-res mountain range texture displayed. All good. Now the fun begins.
I was writing my own code along with the tutorial rather than just download it... I learn more that way. My program was only giving me a black window, no texture. Everything seemed to work fine, but it just wouldn't render. After some digging, I found that I had set the GameEngine form size to 800,600 in the form designer. Changing it to ANYTHING else (larger or smaller - 799,600 for example) causes it to render properly. Resizing via code or using the mouse AFTER the device was created still worked fine.
To see this in action (at least in my case), in the sample I link to above open the GameEngine form in the form designer and set the Size property to 800, 600. If I do that, I get a black window.
This is my long-winded way of asking - What's going on here Hardware limitation Weird clipping bug I want to be aware of these things in the future, and I can't find any mention in the documentation that comes close to talking about a similar issue.

Confusing issue for a moderately new DirectX developer
Nailara
Fascinating bug :-) Yep its a bug in the code.
Look in GameEngine() - you will see a call that resizes the form to 800,600. WindowsForms is quite efficient - if sees that the form is alredy 800x600 and so it never actually does the resize.
The Skybox relies on the vertex buffers being created by the .Create event which only fires when the device gets reset and the vertex buffer needs to be recreated. However if the form is not actually resized then the device never gets reset and so the create event is never thrown.
To fix it you need to actually call the vertex buffer setup code in SetupCubeFaces
e.g.
_leftFaceVertexBuffer =
new VertexBuffer ( typeof ( CustomVertex.PositionNormalTextured ), 4, _device, Usage.WriteOnly, CustomVertex.PositionNormalTextured.Format, Pool.Default );//ADD THIS LINE (and similar for each face)
CopyLeftFaceVertexBuffer((object)_leftFaceVertexBuffer, EventArgs.Empty);
_leftFaceVertexBuffer.Created += new System.EventHandler ( this.CopyLeftFaceVertexBuffer );
Funkyavocado
What display do you run at
I'm thinking, try running at a different display mode, and try playing around with the Size properties while in that other display mode.
Now if you could solve my problems... Lol.
kqu