Reputation
17,963
Top tag
Next privilege 20,000 Rep.
Access 'trusted user' tools
Badges
2 37 75
Newest
 Nice Answer
Impact
~396k people reached

Jul
24
comment How do I lerp between values that loop (such as hue or rotation)?
@GustavoMaciel having checked the code again, it’s actually extremely safe and works exactly as it should even in the corner case you describe.
Jul
24
comment How do I lerp between values that loop (such as hue or rotation)?
@GustavoMaciel that’s not “most cases”, that’s one very specific corner case that just never happens in practice. Also, there is no division by zero, check the code.
Jul
20
comment Why is the drag force multiplied by the inverse normalised velocity vector?
But you can’t do it component-wise; this is only valid for linear operations, and the in the drag formula makes it non-linear. Just compare the results you get with v = [1 0 0] and with [0.8 0.6 0]. Both these vector have unit length, but your method will give you 30% less drag with the second vector.
Jul
7
comment Correct way to integrate scaled axis angular velocity into a quaternion
“Both approaches produce a rotation” really? The second method does not produce a unit quaternion in general, but since you say it’s from a reputable source there must be a lot of missing information in your question.
Jun
15
comment Transform Matrix multiplication order
The confusion comes from the fact that you are talking about local transformations (where the frame remains linked to the object), whereas the transformations described here happen in world space (where there is only one fixed reference frame, the world). Conceptually, your way of seeing things is valid, and it is equivalent to applying transformations in reverse order.
May
16
comment Finding which tiles are intersected by a line, without looping through all of them or skipping any
possible duplicate of How do I generalise Bresenham's line algorithm to floating-point endpoints? (the question isn’t actually about Bresenham)
May
5
comment Algorithm that always returns the same pseudorandom output if given the same input of seed, x and y?
I have posted the code. Maybe refresh the page? But, anyway, your stubbornness is hopeless and your objections indicate that there are too many things you don’t understand and you should either read about them or trust the people who do. If after so much information has been given to you, you still “don't need to measure”, well you’re just not the kind of person I want to help; hopefully my answer can still be useful to someone else. Have fun!
May
5
comment Algorithm that always returns the same pseudorandom output if given the same input of seed, x and y?
@NovaCrist Gee, that C++ code is 5 times faster than MurmurHash3. I’m pretty sure you actually didn’t measure anything.
May
5
comment Algorithm that always returns the same pseudorandom output if given the same input of seed, x and y?
You just do not seem to understand how a PRNG is a hashing function, and how a PRNG can be fast. Seriously, learn to listen to advice from professional developers who know their stuff. Don’t dismiss suggestions based on an “overhead” you didn’t measure. I edited my answer with a C++ implementation; it’s three lines of code; it’s a proven algorithm; it can be trivially adapted to 2 or 4 or 30 variables instead of 3 depending on your requirements. Unless you have a real reason, you should use established, available standards instead of rolling custom code you’ll have to debug and maintain.
May
4
comment Algorithm that always returns the same pseudorandom output if given the same input of seed, x and y?
@NovaCrist There is nothing wrong with “shuffling around values”, that’s someting most PRNGs and hashing algorithms have in common. You use words like “categorically”, “unsuitable”, “approximate”, “silly”, but are you sure you fully grasp the concepts you are tackling? If you are getting artifacts with the method I suggest, you are doing someting wrong, because it’s a mathematically correct solution to your problem. See for instance this code which I used to generate this image.
Apr
28
comment Java OpenGL Perspective matrix not working
It’s not particularly “incorrect”. It’s probably preferable to have an explicit constructor mat4(1.0) for this anyway.
Apr
27
comment How can I go about testing games on a console
UE4 does not support the PS3. Did you mean PS4? If so, you’d still need a PS4 test kit, and yes, that whole registration thing… but maybe your best bet would be to make friends with someone who has access to a test kit :-)
Apr
7
comment Algorithm that always returns the same pseudorandom output if given the same input of seed, x and y?
Dude, this is pseudocode. As I said, just use a different PRNG if you don’t like rand().
Apr
6
comment Algorithm that always returns the same pseudorandom output if given the same input of seed, x and y?
How much slower exactly?
Feb
17
comment Affine transformation: rotate a plane parallel to another plane
oops, yes, it should be U! Fixed.
Feb
14
comment Rotating an object with quaternion
Something in your answer must be wrong. The (0,0,1,0) quaternion represents a 180-degree rotation.
Jan
5
comment How is this particular HLSL condition treated with respect to compile- or run-time evaluation?
This is only half right. Uniform variables obviously don’t need to be known at compile time. However, when their value is set by a technique, then the multiple compilation you describe will happen.
Dec
24
comment 2D AABB vs AABB side of collision and collision depth
The answer to the first question can be found here: gamedev.stackexchange.com/a/24091/5864 again using Minkowski sums. I’m afraid I don’t really understand your second question, since the collision depth does not really depend on the shape of the objects. Maybe a drawing would help clarifying.
Dec
24
comment 2D AABB vs AABB side of collision and collision depth
I think this post will answer most of your questions: gamedev.stackexchange.com/a/55991/5864
Dec
21
comment Is this a viable architecture for lag compensation?
Bear in mind that the clients must only get partial updates from the server. No client should have knowledge of the other players’ actions, only of their visible results.