• Advertisement


Senior Moderator
  • Content count

  • Joined

  • Last visited

Community Reputation

13302 Excellent


About Promit

  • Rank
    Moderator - Graphics and GPU Programming

Personal Information

  1. 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.
  2. 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.
  3. 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
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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?
  12. 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.
  13. 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.
  14. OpenGL Origins of Open GL libraries

    There hasn't been a DirectX SDK in more than seven years. The requisite files are built into the development environment. Same deal with OpenGL. You don't ask about the SDK any more than you ask about the SDK for iostream. The headers and libraries are there by virtue of having a sensible build environment for your target platform in the first place. Similarly, there are platform specific calls to fire the whole thing up in the first place. Once the platform implements OpenGL support, the functions are all part of that same environment.
  15. Changing uniform parameters is cheaper than changing program, and this holds true for a very large number of uniforms. Once you've changed any uniform, changing more is all blocked into one operation and the incremental cost is very small. Uniform branching in a single shader is a perfectly reasonable way to develop, though I've had performance trouble with it on certain mobile platforms. Now whether uniform branching in a single shader is a good design for readability and maintainability is up to you. The ideal case is probably to move to uniform buffer objects and swap the entire block of settings in one go. But it's certainly not inherently advantageous to have separate shaders.
  • Advertisement