Advertisement Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

145 Neutral

About TobiasK

  • Rank

Personal Information

  • Interests

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Well, problem solved then It makes a lot more sense design-wise to have global state there aswell, so just create state and inventory management classes and stick them there.
  2. Why not construct the Scene object with a reference to the "Game" object, that I suppose contains the LoadScene() method? And in that Game-class you can have a state manager, inventory manager, etc?
  3. TobiasK

    CopyResource and when to map?

    If you're using a staging texture (which you should, because hardware tiling sucks when mapping) and call Map() with the DO_NOT_WAIT-flag, the call should return DXGI_ERROR_WAS_STILL_DRAWING until the copy is complete. However, if you're copying from a DEFAULT usage resource, initially, the Map() call will still end up flushing the command buffer prematurely, and then stall. To avoid this, _always_ wait 2 frames after issuing the Copy*Resource()-call before calling Map(). This will allow the copy to complete without any stalls, before you map the staging resource. So in short; always wait for two full frames between copy() and map(), and in case you notice CPU stalls, call map() non-blocking, if possible in your scenario. The things you learn when you inject way too much functionality in well-optimized games...
  4. TobiasK

    Voxel data to mesh data

    I've only looked quickly at your solution (way too early for more) but it looks like you're describing a culling system to be able to extract a minimum set of voxels to test for intersection when ray-tracing? I got the impression that OP was done with the voxel raytracing and now wanted to generate a mesh, and render it somehow?
  5. TobiasK

    Voxel data to mesh data

    Marching cubes and marching tetrahedra will generate the surface of the voxel set, as a triangle list; the so-called "iso-surface." You could then generate lower LOD levels from this. Or do you mean that you wish to keep the cubic appearance of the mesh, but reduce triangle count, without changing the appearance? The easiest way of doing this would probably be to pre-process the voxel field and remove all the interior voxels, before generating the geometry. But well, what is your goal? To reduce the number of draw calls? Transform fewer vertices? Reduce overdraw? Save memory? Need to know what we're optimizing for, here
  6. Just keep in mind that if you use Raspbian you need to install the GL drivers using raspi-config, and you want the full KMS installation. Once you have that up and running you should be able to use sdl, lwjgl or whatever, depending on language.
  7. Depending on how bad you need to support win7 I see a few options. 1. Wrap the functionality in something with a simple interface, and implement it in two separate DLLs, one for win7 and one for win8+. Simply load the correct DLL, and call a factory function in it to get the right implementation. This allows you to make a single LoadLibrary()/GetProcAddress() and will save you from the header hell you will run into building both code paths into your main exe. 2. Skip the device manager, and query the d3d device and context for the video interfaces manually and use them, making sure you manage any needed thread synchronization. 3. Ditch the media foundation stuff, and use libavcodec to decode the video, allowing you control over both pixel formats and threading strategies. All of these can of course be abstracted and hidden somewhere, allowing you to start with the simplest (A) and if needed, replace the implementation with something you like better when/if needed.
  8. What are you trying to do? I have done quite a bunch of video-related stuff recently, and may be able to help.
  9. This is the problem with using unsupported functionality. MFCreateDXGIDeviceManager is supported in Win8+, and not really guaranteed to even remain exposed in the DLL you're using it from in Win7. If you do indeed want to use it, then yes, LoadLibrary()/GetProcAddress() is the way to do it. I would suggest finding a different way of solving the problem you're trying to solve if you indeed want to support Win7 though.
  10. TobiasK

    DirectX 11 C++ Game Camera

    Personally, if the text is perfectly understandable I consider correct grammar to be unimportant. GuardianX has put great effort into writing an article that will help a lot of peple, and picking on his language skills seems, to me, a bit counterproductive if you want to him invest more time into helping people learn.   GuardianX: Great job!
  11. I started learning programming by making games, and I know a lot of people who has aswell. Sure, this was back in the days when games were A LOT simpler (middle of the 80s), but there's absolutely nothing bad about learning by making games.
  12. TobiasK

    HLSL debugger appears confused

    No, they're always 0. I'm starting to suspect this is an issue with Win8...
  13. TobiasK

    HLSL debugger appears confused

    I compiled the shader with Debug and SkipOptimizations, are there any other flags I need to set?
  14. As I'm getting back into coding again after a break since before DX10, I'm currently struggling to get the most fundamental things working. One of my problem is that a quad I'm rendering refuses to render in anything but black. I've tried using the HLSL debugger to see what my very simple vertex shader does, but it's kind of useless... Please see the attached picture. Can someone explain why the left pane shows the correct data, but the watches in the debugger shows everything as 0 ? Is there a fix for this?   [attachment=14456:Untitled.png]
  15.   I was going to write something, but I'm still in a very happy place after reading the above, so... I'll bbl :)
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. 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!