Jump to content
  • Advertisement

DerekB

Member
  • Content count

    19
  • Joined

  • Last visited

Community Reputation

3 Neutral

1 Follower

About DerekB

  • Rank
    Member

Personal Information

  • Role
    Programmer
  • Interests
    Audio
    Business
    Education
    Programming

Recent Profile Visitors

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

  1. DerekB

    Calculating Vertex Normals

    You may have had some flipped face normals in your input, and fixing that may have made the result of your lighting more plausible, but if you continue to average your summed normals rather than normalising them as JoeJ is suggesting then you are still not getting the correct results. Honestly it's really worth your while to get your head around the concepts JoeJ talked about, unit normals and normalisation are kind of a big deal. Everything you do in 3D graphics will be easier and make more sense if you can understand fundamental linear algebra.
  2. DerekB

    Effect: Black Hole Background

    Really nice work. Now I just want you to put the black sphere in (or make it bigger if that's already there?), the little black dot in the middle is heavily aliased and letting your effect down imo.
  3. You need to invert the matrix you're building in order to transform p1, p2 & p3 from model space to world space.
  4. DerekB

    Drawing a buffer to client window in winapi.

    Sorry to hit and run, I'm literally about to run out the door, but you can check out some code I have which does exactly this here: https://github.com/GeneralLeeInept/vgfw/blob/master/vgfw.h
  5. Check out Brian Bucklew's use of an ECS in Caves Of Qud, he solved exactly the probem you're describing with his approach and has done a couple of presentations about it.
  6. DerekB

    std::thread question

    The thread t1 is not a thread of execution, to "start it" you have to create a thread of execution and assign it to t1: std::thread t1; t1 = std::thread(someFn);
  7. DerekB

    Quadtree/terrain frustum culling help

    You don't say where you are are getting the exception? This line in Terrain::draw is wrong, I don't know if it would cause your exception, but it's definitely going to run off the end of your mSubMesh collection: pDeviceContext->IASetVertexBuffers(0, mSubMesh.size(), &mSubMesh[a].VertexBuffer, &stride, &offset); Edit: actually it's more wrong than I first thought, your SubMesh type has multiple members, that call will bind mSubMesh[a].VertexBuffer and then attempt to bind everything in memory following the vertex buffer as vertex buffers.
  8. It's difficult to offer any help with such a general and sprawling topic. The best way to learn, and get help, is to have a concrete question or goal. You mentioned that you are doing a C++ course and as you're interested in using Visual Studio I'm going to guess that you have easy access to a desktop PC, so I'd suggest you focus first on creating a desktop C++ Hello World application. It's easiest if you aim for a windows console application first.
  9. DerekB

    Iometric depth sorting (C++, SFML)

    I would assign a sorting ID to each tile in the map and at preprocessing or loading determine the map space sorting coordinate for each sorting ID, then when you want to render a set of tiles you can just sort on sorting coordinate. The sorting coordinate would be the map space Y co-ordinate of the tile which corresponds to the lowest screen space Y co-ordinate when rendering (visually that's the bottom edge of the tile on screen). Background tiles could all get a special sentinel ID and sorting co-ordinate which always sorts to the end of the list, multi-tile sprites like your trees would have the same ID for each tile so the whole lot sort together. Dynamic sprites like the player sort correctly based on their current sorting co-ordinate. The assignment of sorting IDs to tiles would best be done automatically, given the information of which tiles are background tiles, which tiles are members of sets like your carved up trees, etc, it should be possible to develop an algorithm that assigns appropriate sorting IDs. I think the trouble here is that OPs situation involves an unbounded number of tree layers and no fixed ordering for the player layer.
  10. DerekB

    Iometric depth sorting (C++, SFML)

    I feel like your current approach should be viable, if you sort using the baseline of the sprites by y co-ordinate (with y increasing from top of the screen to the bottom). Edit: I just reread your post and caught the bit about breaking the sprites up into tiles. That's fine but you're going to need to use the same sort order for all of the tiles which compose each sprite and use the baseline of the bottom tiles as the sort key.
  11. Glad you figured it out, I only just had a chance to check back and was about to reply that your image barrier looks okay, but I guess you know that now:)
  12. An idea unsupported by any specific knowledge or experience, I'd be looking carefully at synchronisation, I wonder whether something is clobbering your shadow map before you're done with it?
  13. If I understand you correctly it sounds like you're interested in visual scripting or visual programming, you might find something interesting with a google search for those terms. Off the top of my head I can suggest GameMaker Studio or maybe UE4 with a focus on blueprints.
  14. I would go with the templated multiplication operator suggested by @GDnetplus, it's narrowly targeted to support only the operations you want to support, and it follows a pattern you'll find in the standard library which makes it unsurprising.
  15. Yeah, I wondered why the fascination with removing, then I thought maybe it's an occlusion culling pass after first adding everything in the frustum or something. (Personally I'd tackle that by using my occlusion cull to filter the first vector and add things that are not occluded to a new collection, but if @noodleBowl has a need to remove things from the vector then my advice is just do it and worry about performance if it's too slow.)
  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!