_Silence_

Members
  • Content count

    174
  • Joined

  • Last visited

Community Reputation

982 Good

About _Silence_

  • Rank
    Member

Personal Information

  • Interests
    Programming
  1. The usual billiard physics will hopefully help you. It can be narrow down to weighted disks easily. I haven't read that link thought. But at first glance it covers what you are looking for.
  2. Agree. A more modernish version of these classes would be just to declare the constructors deleted instead of making them private and having no definition. There, it makes also no interest to put them in a public or private section. Also, note that all inherited classes can inherit in a protected way, thus not perverting the IS-A inheritance idiom.
  3. Put the initialization in the source file, not the header file.
  4. Getter + dirty flag + "mutable"

    OK. But I could not guess that at first glance And at the light of what you revealed, for sure what I said is not a good solution at all.
  5. Getter + dirty flag + "mutable"

    And what about calling doComplexCalculation in doSomethingThatChangesResult ? Since it seems you have access and can modify the original code, it might be less dirty to do so. You will then be able to remove the dirty flag and the necessity to have the mutable qualifier. Which, IMHO, is far better than adding mutable just to add it. The cost is that the complex calculation will have to be done in doSomethingThatChangesResult .
  6. Why 4 if you only draw 2 vertices ?
  7. Something that I saw too. This kind of 'mistake' can show a coding style which does not suit best the user. Sometimes the coding style is not just an aesthetic thing. But it can also be something to help avoid writing mistakes I also put braces at the same line, but for loops and conditions, not for class or function/method definitions.
  8. 3D Mesh data (format)

    Well, according to this, no. Really, I never saw a max importer
  9. 3D Mesh data (format)

    Are there any max file importer ? AFAIK I only saw 3ds importers. And whereas I like 3ds, it is however very old and lacks useful recent things like per vertex normals, TBN, meta materials...
  10. So.. Where do I begin?

    I would also advise to follow what MMK told. To get lost in the technical infinity is very easy, and especially when you don't have any technical background. And once you choose one technical way, it's not that easy to have to start again in another one when you realize that the first one will not bring you where you wanted.
  11. MathC - a C math library for 2D and 3D programming

    Few seldom things (that might have already been said above): Consider passing parameters by pointers for most of your operations involving vectors, matrices or quaternions. This will be far more fast. Make them const if necessary. Consider using an array for your structures. Well, at least if in C (which I'm not sure about), alignment is not mandatory for structures members. Consider splitting your file. If you create something for 2D and 3D games, then one that would like to make 2D games only does not care about vector3 for example. For lacking functions, depending on what you want, many may be lacking I suggest you to add them as you need them, or as your potential users will require them.
  12. Yes, but then it can become a problem for lighting (are these normals default values or do I really have normals), texturing (is that default UVs ?) and so on. The answer might look trivial for normals since a null normal should not exist, but less for UVs, colors...
  13. Well I don't know at all about the Microsoft version of this function. If you use C++ 11 or C 11, then aligned_alloc will be present in the standard library. If you use C++, then you'll have even more functionalities. So why using a non-standard and non-portable version of a function, even if you don't plan to develop on another platform.
  14. Why not using aligned_alloc ? I linked to the C++ documentation since it is more easy to point to it than the C version, but this is the same for pure C.
  15. If it is transparent or invisible, then you have nothing to do