Advertisement Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

951 Good

About n3Xus

  • Rank
    Advanced Member

Personal Information

  • Interests
  1. Hi, we're having some issues where some users fail to create any adapters and we cannot replicate it. For this reason we want to get as much PC info as possible and the one thing I cannot get is gpu driver version. The issue is that we can't use some handy C# stuff since UWP apps can't use some hardware identification classes, so using SharpDX api is probably the only way. The problem is that I cannot find any functions that would return it. The Adapter Description(1) doesn't contain it. Any suggestions? Can driver version be queried with C++ D3D11 so I'd know where to look in SharpDX? There is like zero information on this on the web... One old topic which has no answers...
  2. As the title says, the file you select to highlight the chars you want must be BOM encoded or it will select wrong characters (neither latin nor chinese work properly).
  3. n3Xus

    When you realize how dumb a bug is...

    Spent 20 minutes figuring out why a C++ macro doesn't work as intended. #define TIMER_SUM_END_NAMED (x,str) use_x_and_str_here [spoiler]Space between define name and (x,str) must be removed: TIMER_SUM_END_NAMED(x,str)[/spoiler]
  4. n3Xus

    Unity Vs Unreal

    I hated UE4 C++ because if you have a C++ crash in your code the entire editor crashes also... In unity this happens only if you manage to write a infinite loop.
  5. From all of the above I concluded the issue is about not getting a bad reputation, which means that the owner(s) wanted to prevent crazy stuff from happening (like on other sites like reddit). So it is a business decision.   If my conclusion above is wrong, I see no good reason for any kind of topic restriction.   - this is the internet - the population will never be 100% diverse - what is the big deal of "personal attacks" on the internet? this is the internet, taking people serious in a heated argument is stupid, as an adult you should know this. - if a topic goes out of hand lock it -> most topics start nice, then go into chaos, just like big programs written by non-experienced programmers. But here we are dealing with the irrational human mind, so stuff goes crazy even faster. Lock it and restart the topic, it will go nice for a few pages, then go to hell, then lock it and repeat.   (also when I say "personal attacks on the internet" I mean getting called bad names online or via private messages. If you can't handle that don't post into topics like that. But that would mean you have a serious problem that most people don't. Obviously dead threats sent to your home via standard mail is a different thing. But unless you are a psychopath you won't do it.)
  6. When dealing with physics most stuff is C++ because they want to squeeze out every bit of performance, so that should probably also be your goal.
  7. n3Xus

    Programming exams

    We had to write code on paper only for the very first programming class in college (Java).
  8. If you were referring to me, then yes, that IS my gamedev autobiography    And most likely not just mine :D
  9. I think OP has the same tendencies as the other 95% of programmer (I had the same feeling):   1) You feel that it's cheating using other peoples code, you are awesome and you can create everything yourself 2) You start to make your own engine, you rewrite it 10 times because you don't like the code design 3) After the N-th rewrite you are finally more or less happy (in reality you are not happy, you want to rewrite it again, you can do it better, yes you can!) 4) Now it's time to create your game with your awesome engine, fuck third party shit thats for noobs! 5) You realize that for almost every new gameplay feature you want to add you need to write a entirely new part of the engine. 6) Eventually you create a simple prototype for your game and you realize that you hardly even wrote any gameplay code, you mostly just added engine functionality. 7) You realize that you wanted to write a game engine because you are actually interested in the low-level workings of a game engine and you start     to comprehend the amount of stuff needed for even the simplest thing. 8) You still want to make a game so you shamefully go to the unity or unreal engine site to look at their inferior engine compared to yours. 9) You realize that it's foolish to keep insisting on writing an engine and you start using unity/ue/... to make your game. The experience you get from rewritting your own        engine N-times is useful since you get the idea of how quickly large programs can become unmaintainable. 10) Hopefully you realize at this point it's unproductive to create a game engine for the sake of making a game, and you use unity/unreal engine/... 11) You start using unity/unreal engine/... 12) You stop working on your game because you lose motivation.
  10. n3Xus

    Doom3 is the proof that "keep it simple" works.

    I like this article.   In the past I personally always started mixing up references and pointers and ended up with a mess where once there was a pointer and once there was a reference.   Since the only real difference between references and pointers is that references can't be NULL we have a question: should you use references only when you want to explicitly tell "this must NOT be a null pointer"? You obviously can't use just references since you may need NULL pointers.   But if you start mixing up references and pointers you sometimes have to write '&x' and sometimes just 'x' (if x is a pointer), which also looks strange in the code, eg is  myFunction(&x) now a double pointer or a dereferenced pointer because the function takes a reference?   So now I ask myself: should the name of the function paramater tell you if the param can be nulled or not? Eg: myFunc(int* Car)  vs myFunc(int* CarOptional)?   (ofcourse you could also write is as 'myFunc(int* CarOptional=null)' to make it really clear).   Here we ask ourselfs: if we know exactly what 'myFunc(...)' does then we don't need to put "nullable" in the paremter name, since we know how it will behave. So I personaly concluded that writing "optional" is useless in the parameters name, because I should know exactly what each parameter does and if it can be NULL, plus I can write CarOptional=null.   So anyway I came to the conclusion that using just pointers is more clear, you know that if something is a pointer you can mess up a larger global state. If you have a reference and access it with myObj.something you may think it's a local stack variable but in reality you just messed up a some global state because myObj was a reference.   TL/DR: I like their "keep it simple, stupid" approach. I find most of the new C++ features too arcane or too much academical. In practice many of these thing make your eyes bleed and make the code look too complitcated.
  11. n3Xus

    4K UHD

    I remember setting AF to 16x in Skyrim and the foliage still looked horrible and glittered like a disco ball.    All it took was FXAA to smoothen/blur the image and it looked like a totaly different game.   EDIT: I also remember how awesome Alien Isolation looked at the very beginning: the first room and the corridor in which you start had absolutely no flicker because of high frequency textures/normal maps. It looked like a movie. But then I got a bit further on and flickering ahoy But those 10 seconds at the start really stayed with me: it's about reducing flickering.
  12. n3Xus

    Unity or C++?

    You could try Unreal Engine 4, its C++ based.
  13. n3Xus

    Assimp Distorted Skinned Mesh

    Test it by rigging and exporting one triangle so you can go through the data by hand in the debugger. Best option in this case.
  14. n3Xus

    Sampling Texture2D vs Texture1D?

    If I understand correctly... :   Your 1D texture has 4 components (4d vector). ( desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; -> R,G,B,A) If you sample at location 0 it will read the 4D vector. That 4d seems to be (1,0,1,0) (R and G are 1). RGB components are not separated, they are combined.   So when you mixed them you get purple.   You need sampleLevel(sampler,0,....).x to get red.   SampleLevel should be used if you need a specific mip-map, it has nothing to do with RGB channels.   EDIT: you should use the default sample function, not sampleLevel if you don't need mip-maps.
  • 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!