Jump to content
  • Advertisement


Senior Moderator
  • Content count

  • Joined

  • Last visited

Community Reputation

13305 Excellent


About Promit

  • Rank
    Moderator - Graphics and GPU Programming

Personal Information


  • Twitter
  • Github

Recent Profile Visitors

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

  1. Promit

    Messagebox gives errors after compiler installation

    The easy way to deal with this problem is just to use the function MessageBoxA instead. See, MessageBox isn't a function - it's a macro. It becomes either MessageBoxA or MessageBoxW, depending on whether the compiler defines UNICODE at the time of compilation. While you can remove UNICODE from the project properties, I find it much cleaner to simply skip the macro and call the function you actually want.
  2. fragPos = vec3(model * vec4(vertex, 1.0)); camPosition = camera; gl_Position = mvp * vec4(fragPos, 1.0); Didn't you just multiply through with model twice here? fragPos already contains model when you hit it with mvp.
  3. Because email addresses and phones get stolen all the damn time. The idea of two factor authentication is to avoid having a single point of compromise become built into a major breach.
  4. If nothing else, I consider 4 GB of memory unacceptable in a modern dev machine. I have a 4 GB surface and it struggles to actually load and build our project due to memory issues. Not struggles to run it - struggles to build it.
  5. Man, the guys above are too dire. I wrote most of this same stuff when I was fifteen, what’s with all this “this is hard to do without an engine” nonsense? Don’t know what the point is if we’re not going to help the newbies do real work. Let’s get down to it. Terrain: it’s a nice idea that might need a few tweaks. My suggestion is to look up terrain “splatting” or “splat maps”. It’s not quite what you asked for but I think it’ll be helpful. Collision: object space AABB per model, world space AABB per instance. Drawing collision: I prefer to run these and all other debug rendering through a separate render pipeline based entirely on dynamic buffers and streaming vertex rendering. This makes it a lot easier to add additional displays/modes and info. Shaders: both good choices, roll with what works
  6. Promit

    Backups (online and image)

    I'm using Crashplan for Business - the personal product was discontinued recently. I'll likely change soon, as the business offering is likely not the most cost effective choice. No image support though, so if you're going to insist then no dice.
  7. Promit

    OpenGL Uniforms

    https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetUniformLocation.xhtml Typically if you're certain you didn't make a typo, it's the part I've bolded about "active" that catches people off guard. If the shader as compiled doesn't use the uniform variable, it's considered not active and won't be assigned a location even if it's listed in the source code.
  8. I have screens that are: 3840 x 2160 2880 x 1800 <-- 16:10, some people just letterbox down to 16:9 2560 x 1440 2560 x 1080 <-- this is the bitchy one, at 21:9 1650 x 1080 I would want to be able to play on those in some sensible fashion, whether it's resized or whatever.
  9. Promit

    A Common Thread

    I believe this thread has run its course. In the future, I would suggest to many of you that the way to stop a fire is to take away its oxygen, not explain why it's wrong about game development.
  10. Promit

    Input on Adult Content

    I've seen games (more indie-ish stuff) that tackled the topic of sex in a reasonably mature and serious way, typically in the context of a "romance/dating sim" type of genre. Granted there's a lot of cheap porno garbage in that world too, but there are some serious attempts. I've also seen plenty of things that are just comedic or absurd, as you mentioned. God of War comes to mind as a mainstream game where the sex sequences are stupid. Something that includes it in a fluid fashion, though... that's tough. The Bioware RPGs - you mentioned DA and there are others - tend to effectively have "relationship" side quests and they're typically quite PG-13. In a broad artistic sense, of course this is possible to do properly. Many other mediums - books, film, television, theatre - have done it for ages. I'm hard pressed to identify a game that handles it with the maturity and seriousness seen in those other creative worlds, though.
  11. You've gotten some excellent answers, so let me take a different tack. At the end of the day, it's all about goals. Is your goal to: Develop the game of your dreams and bring your ideas to life? Go professionally into game design or high level programming (AI, game logic, etc)? Use an engine. This is what they are there for. Understand how everything works, and maybe eventually become a professional engine or low level developer? Build everything yourself. Obviously both are legitimate paths to choose, but they're very different.
  12. You have to understand first and foremost that GPUs haven't had any concept of 2D for quite a few years now. Your "2D" pieces are just 3D pieces that aren't very interesting geometrically. They go through the same exact pipeline in the same exact way. As long as there are valid depth values and your depth states are set up in the usual way, things get ordered in space as you'd expect. If you disable the depth buffer, then things will strictly follow draw order both across and within draw calls. There's no "to an extent". The depth buffer will solve this with pixel perfect results every time, as long as alpha blending isn't involved. Draw order, number of draw calls, doesn't matter.
  13. Can't on mobile, if you're looking for wide support. Is Metal available or run the GL ES pipeline? Is Vulkan available or run the GL ES pipeline?
  14. If you want this to work, I would start the implementation with two APIs. AZDO GL 4.5 and DX11 would be sufficient. Trust me, this will expose a lot of blindspots that you miss even if you're pretty familiar with multiple APIs. Been there, done that, have the wide-ranging commits to atone for my oversights.
  15. I wouldn't worry too much about the use of runtime polymorphism. It's way down on the list of interesting or useful problems. The key point you need to think about is, what level will the abstraction exist on? There are two equally valid ways to do this. You can create "API-level" abstractions for buffers, textures, shaders, etc and implement common interfaces for the different APIs. Or you can define high level concepts - mesh objects, materials, scene layouts, properties - and let each API implementation make its own decisions about how to translate those things into actual GPU primitives and how to render them. There are a lot of trade-offs inherent in both approaches.
  • Advertisement

Important Information

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

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!