Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 11 Jun 2001
Offline Last Active Apr 23 2013 09:46 PM

Posts I've Made

In Topic: Code Portfolio Submission

08 April 2013 - 02:42 PM

Thanks for the advice!  I'm going to find free replacements for the assets used to develop the projects initially.

In Topic: Learn OpenGL and Direct3D at the same time

14 January 2013 - 04:39 PM

Your ability to do much in either API depends on your domain knowledge (3D graphics) and your overall programming level.  If you already know a lot about computers processing 3D graphics, and have used large and complex APIs before, then learning both APIs at the same time will probably not be a difficult task.  If you're a beginner at either, and certainly if you're just beginning both, don't try to learn both at the same time, because learning one will be enough a challenge.

In Topic: DirectX Button Limit

27 September 2011 - 08:06 AM

Either I asked a really dumb question, or one that no one knows the answer to - a response indicating either one would be appreciated =)

I did further Googling and ran into a post on a Unity forum which said that Microsoft's HID interface limits the number of buttons to 32. Though it wouldn't limit joysticks that might actually use another interface (gameport?), for all intensive purposes, I'd accept that as a show stopper and a reason for hardware manufacturers and software implementers to consider it a hard limit. I'm not 100% sold on the post until I find more concrete information because it seems awfully short sighted so I'd like to see it written in some official document or find more secondary sources saying the same thing.

In Topic: [Direct3D11] Problem Shutting Down Fullscreen

31 January 2011 - 11:40 AM

Your shutdown messages give the best clue for the investigation. The only thing you need to worry about are external reference counts on D3D11 objects. Internal references are managed by D3D and won't cause leaks. The counts you see for internal references are for default state objects that are maintained by D3D. From the table that was printed out it shows that the only outstanding external reference you still have is for a device. It doesn't appear to me that the leaked device reference is in the code you pasted here.

Thanks a lot for that information! I thought things were the other way around with references. I may have resolved the problem last night after I added a call (or 2) to ImmediateDeviceContext::ClearState() in my shutdown sequence and got the number of live objects to lower than what I posted here when it occurs. I have to go home and test before I find out if all ExtRefs were 0 though.

In Topic: Multi-texturing via blending using a multi-pass technique

31 January 2011 - 11:09 AM

This is a topic I recently gained and understanding of so I'll take a whack and trying to explain it briefly and in very simple terms. Multi-pass rendering is like layering sheets of translucent paper on top of one another to compose a final image. When you lay down each sheet of paper (pass), you are adding a new component of information that wasn't previously there.

For example, if you wanted to render a basketball you would have a single ball with a position and orientation. One pass (sheet) could show the ball with a basic orange color. The second pass(sheet) shows the same ball but with only it's black line pattern (all other information is transparent). put the second sheet on top of the first, and you'll see a ball with both the orange color and the black line pattern.

With multipass rendering, there generally isn't a need to explicitly share information between passes because the shared information is the geometry that was re-rendered. With the earlier example, that was the ball's position and orientation on the sheets of paper. As long as that information stays the same for each pass, the two images overlay on top of each other appropriately. Keep in mind that this is only basic multi-pass rendering and I wouldn't be surprised if there are techniques that require more complex information to be shared between passes.

Taking things back to the technical side. Imagine drawing a sphere with two textures. One texture is the orange color, the other is the black line pattern. Your geometry stays the same for both draw calls. Before drawing the first pass, you set the single texture to the basic orange color. Draw the ball. Then you set some sort of blending operation to compose the current image already drawn to the one you're about to draw. Then you set the texture to black line pattern. Then you draw the same geometry for the ball again.