2,359 reputation
527
bio website fxz.sufx.net
location Bucharest, Romania
age 29
visits member for 3 years, 1 month
seen yesterday

Gameplay programmer. Main interests:


  • physics based animation (deformable objects, kinematics)
  • mathematics of CG applications (simulation, games, etc.)
  • shader programming
  • discrete differential geometry (manifold properties)
  • robotics

While you're here, please stop saying these two things

  • quaternions avoid gimbal lock
  • premature optimization

why?

  • gimbal lock is related to a mechanism, quaternions are just an algebraic/geometric description of an angle-axis rotation. So they do not avoid it since the mechanism itself cannot.
  • if it's an optimization, if it's common sense, just implement it! Better do it now, than to look for it desperately later.

Apr
13
comment Circle-Circle collision resolution
Remark: answers that are not answers, but dialog, should be comments. Alternatively, use the chat for detailed, more private discussions. When people read the "answers" section, they expect something a bit different.
Apr
1
comment How is game logic usually distributed around files
To actually understand what an answer to your question may look like, just consider the fact that people have actually written (fairly good) books on the subject: amazon.com/Game-Engine-Architecture-Jason-Gregory/dp/1568814135 and amazon.com/Game-Engine-Design-Interactive-Technology/dp/… being two well-known titles. You could read at least parts of them and then judge by yourself what best fits your personal style and needs.
Apr
1
comment How is game logic usually distributed around files
It's improbable there's a panacea design that can serve as a proper answer to your question. Granted, C++ may tempt programmers to adopt certain ways of organizing files (due to separate .h, .cpp, .inl etc. meanings its source files have). There are many open source projects that you can analyze for what you're looking. There's an SO question similar to yours: stackoverflow.com/questions/14477110/… . The takeaway is: a game is just a program with logic like any other. It also uses design patterns and best practices as other products do.
Mar
29
comment How do 3D games create the illusion of depth?
Probably the technical answer is simply perspective projection" (Google has a lot on the topic). You are most likely interested in *monocular depth perception (en.wikipedia.org/wiki/Depth_perception). Besides the Mathematics behind the technical explanation, depth perception is very close to being an art: photographers have a gut feeling of it and make use of different strategies when composing their photos. So, technical answer: perspective projection 3D to 2D. Nontechnical: the touch of an artist.
Mar
20
comment What is better? Lots of small TCP packets, or one long one?
So, the best things that you can do are: indeed, use TCP just for crucial operations OR use an UDP based software protocol implementation (with Enet being simple and UDT being well tested). But first, measure the loss and decide whether UDT would bring you an edge.
Mar
13
comment Moving OBB vs. triangle intersection test
these are quite promising suggestions.Again, there's a "however" involved: it is not at all sufficient to do the intersection of the prism's "curvy" edges with the OBB/AABB. Simply imagine a translation of a triangle that intersects the box by first hitting a corner. Or if the triangle is simply larger than the box. I do have a somewhat working solution involving Dave Eberly's suggestion, but with totally different separating axes. BTW, thanks a lot for your comments and answer, I appreciate them a lot!
Mar
11
comment Moving OBB vs. triangle intersection test
I appreciate your description of a potential solution. However, I am considering a slightly more complicated situation where the OBB is moving (a so-called shape-cast) and the triangle is stationary. What I would like point out is that the plane-triangle intersection leads to too many false positives, besides working only for stationary objects.
Mar
1
comment Find the largest empty space inside a cube populated with a point cloud?
What are the rules for defining the concept of "empty space" in your context? That is, how do two different "empty space" regions know they're separate? The question is potentially very interesting, but I think it needs this extra bit of clarification to benefit from correct answers.
Feb
21
comment How can you visualize a quaternion?
Spot-on answer! This way, people can also understand the SLERP mechanism because they can picture quaternions on a 3D sphere, while the spin can be seen as the scalar rotation motion by that vector (guess it's something similar to what some mathematicians call a rotor -> geometricalgebra.net/quaternions.html ).
Feb
20
comment Is the rendering of distorted point clouds more complex?
thanks, but I am not in a position to answer your question. What I fear is that other people would not understand the terminology. Once again, could you explain in one sentence or even a picture what you mean by "distortion of points" that "may have an impact on depth or occlusion"? As I said, a sphere has way less points than a ball, so there's a higher amount of points to be processed. In a way, probably this might help you: http.developer.nvidia.com/GPUGems/gpugems_ch29.html. Cheers!
Feb
19
comment Is the rendering of distorted point clouds more complex?
Could you clarify what you mean by "distortion of points" and why you suspect it alone could affect the complexity? Also, ball vs. sphere usually means the ball has (a lot) more points than the sphere cloud. That alone could be a trivial difference.
Feb
13
comment How can I model the physics of an air blower?
Sam Hocevar offered an almost exhaustive list of things that could be done to achieve your goal. I'd like to take a shot on answering this without using the really accurate and correct way of doing things (large eddies might be an overkill, but I'm not an expert). Would having a 3D grid/lattice where you sample the wind speed be actually enough for you? If yes, I could sketch a very simplistic approach that only requires you to integrate some vector fields over time (the same as they do in Visualization - en.wikipedia.org/wiki/Streamlines,_streaklines,_and_pathlines ).
Feb
11
comment Depth write and depth test in Unity
thanks for the tips and tricks, I hope someone else will find this also helpful!
Jan
10
comment Programming Dynamic 3D Water/Waves?
If it's something rather simple you want, I suggest Gerstner waves (see gamedev.stackexchange.com/questions/69827/…). Another related question gamedev.stackexchange.com/questions/51316/… . In the end, you can get something like this.
Jan
4
comment Can someone explain to me how setting shader parameters aren't a bottleneck?
While the answer is valid, the question and even a part of your answer contain an error: "Setting shader parameters is a bottleneck" - the subject here is the gerund "setting" that has a noun role and is the subject of that sentence, therefore it's singular :). Just your friendly grammar nazi here.
Jan
2
comment How to implement this kind of ripples with a GLSL fragment shader?
Great effort! +1
Jan
2
comment How to implement this kind of ripples with a GLSL fragment shader?
This is no complete answer, but a series of hints: you need an uniform to "animate" the effect - i.e. a time-like variable. Using that time value, you can shift the uv.xy with a (sin(time),cos(time)) offset vector. Of course, you must figure out the amplitudes of the sine and cosine offsets. I'd start with just offsetting the uv.y first and see how I can adjust the effect further.
Dec
23
comment Creating a glitch effect similar to Watch Dogs
@rootlocus well, my bad, I didn't read the whole question carefully , sorry :(. Yet, it's quite difficult to accomplish the whole range of WD glitches the user may be after. Nevertheless, asking questions is the key to progress. Even bad questions need to be answered - since the OP is making a game, this effect pipeline alone could be a task for a month or so working full-time on it. Cheers!
Dec
23
comment Creating a glitch effect similar to Watch Dogs
It most probably can be achieved by rendering the image to a texture and then bending your brain to come up with the shader processing pipeline to achieve it. The real question is: what would you use it for? It looks more in the lines of a demo-scene project than a skill a game programmer should have. Of course, doesn't hurt to try it. An educated guess tells me that WD achieved that by playing Flash movies instead of using sophisticated shaders as you intend to. So, if a AAA doesn't do it, why would you?
Oct
30
comment Why is Euler integration sometimes preferred over RK4 even if RK4 is more accurate?
I second @OriginalDaemon in seeing this question as a close duplicate of the Pros and cons of different integrators question. The only difference is justifying Catto's choice, which can only be inferred by carefully reading his posted material (one google search away :) ).