1,636 reputation
215
bio website fxz.sufx.net
location Bucharest, Romania
age 27
visits member for 1 year, 2 months
seen 3 hours ago
stats profile views 96

Graphics programmer. Main interests:

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

Programming languages:

C++, PHP, C#, Objective C, Python, Java, Javascript/CSS/HTML, MATLAB, SciLab

Database:

MySQL, OracleSQL, MSSQL

Shading languages:

Cg, GLSL, HLSL

Libraries, engines, frameworks, tools:

OpenGL (CG library) , WiiBrew (HCI library), Ogre (CG Engine), Blender 3D (CG tool), GIMP (CG tool), Codeigniter (PHP framework), dotNet (C#, WPF especially)

.. strong Math skills (advanced Mathematics, Geometry and Calculus and Algebra)


May
15
answered When to detect and respond to collisions?
Apr
17
comment How do I fix objects “popping” or jittering in physics engine?
All in all, this is similar to solving a linear system of equations in an iterative manner (or nonlinear system, depending on your constraints/conditions/etc). Either case, you're seeing these artefacts because they're numerically the correct thing to see: intermediate states of a converging process. Avoiding this is quite tough and could imply a lot of nasty hacks (anyway, this happens in real life, at a molecular level, and that's what you have there to best resemble something in real life :) ). It's probably good to investigate box2d to see their solution for impulse based dynamics.
Apr
17
comment Looking for very simple implicit integration example
It's worth mentioning that OpenCloth encompasses almost all major numerical integration methods for cloth-like objects. This piece of web deserves a lot more attention. I'll try to write a tutorial sometime in the near future (this year), as I also cannot find anything dealing with the implementation details for a not-so mathematical person.
Apr
16
comment 1D functions and shapes
Well, beziers are approximating curve which decay in intuitiveness with the degree (they only pass through the end and start point, but might not remain on the [0,1]x[0,1] square if your control points are outside the domain. Not to overcomplicate things, I'll foresee an actual answer linking to a smoothstep function, commonly/heavily used in shader programs. Wikipedia link -> en.wikipedia.org/wiki/Smoothstep
Apr
16
comment Looking for very simple implicit integration example
I'm also interested in a detailed/step-by-step tutorial on how to properly implement more pretentious integrators. While I tampered a bit with the implicit Euler by solving a nonlinear equation using the Jacobian/Newton's method, it was not good enough. I then found OpenCloth (on google code). You can see the Exact code you requested here: code.google.com/p/opencloth/source/browse/trunk/… . It would be nice to also get a more tutorialish explanation with some figures "and stuff".
Apr
16
comment 1D functions and shapes
so your function is f:[0,1] -> [0,1]? If yes, and you require it to be quadratic, one obvious solution should be f(t) = t*t. For the matter of fact, you could map [0,1] into itself in countless ways, but most popular are using Hermite polynomials or cosine interpolation (as far as some animation algorithms are concerned). Aside from these options, you always have a nice theory of splines and their families, but you're probably not going to need them for this problem.
Apr
7
awarded  Popular Question
Apr
2
comment How is the gimbal locked problem solved using accumulative matrix transformations
@concept3d - congrats for mentioning this! It's important to understand what makes the gimbal mechanism prone to losing a degree of freedom: it's like a robotic joint inherently describing an overdetermined system of equations. If you build this mechanism with quaternions, matrices or magic, you still end up with ambiguities - it's understanding it and not using it in the first place that's a real solution (unless you're required to use it for some demonstrative or technical purpose).
Apr
2
comment RK4 integration and Continuous Collision Detection
Decent answer. RK4 can be used where slightly improved stability and paranoid accuracy are required, but it doesn't mean that dividing the distance by the relative velocity, no matter how the values get computed, is not the way to go. It is true that the velocity is no longer linear across the delta_time interval, but the difference in results should not be a huge deal. If it is, maybe the OP can tell us what went wrong with this idea (missed collisions, penetration artefacts?)
Mar
13
awarded  Yearling
Mar
6
comment Rotating vector3 by a quaternion
Hats off to a better written response. And considering that most performance freaks tend to use intrinsics to perform vector operations, you do get quite a speed-up (even for plain quaternion multiplication, especially on intel architectures).
Mar
1
comment How to approach skinning a snake made of cubes and is it right method for snake 3d game
Minceraft meets Nibbles? Implement the object described in the answer of Shivan, i.e. using those cuboids to achieve the gameplay solution. Now, you don't need bones, but a somewhat carefully designed deformable linear object made out of a 3D spline that passes through the centers of the cuboids. You could then envelop the spline dividing it into small segments and making cylinders around the segments. If you wonder how to get some skin on that series of cylinders, perhaps you could use some local frames (Frenet-Serret). It's rather complicated, go with the cylinders first..
Mar
1
comment What happens to data between vertex shader and pixel shader?
+1 for "(feel free to imagine I'm saying this with the voice of the "how it's made" videos)". It may sound shallow as an argument, but besides that, it really got close to that kind of presentation. Might be nice to put the image straight into your answer for an even easier understanding.
Feb
22
comment Is there a pedagogical game engine?
I believe that nobody mentioned one of the best fits for an answer: Dave Eberly's WildMagic engine, thoroughly covering the assets pointed out by the OP: geometrictools.com . Also, his book is one good starting point.
Feb
20
comment Simple 2D hair simulation/manipulation
I am tempted in giving an answer, but I'd like to request you to post either a small pic of that action (not animation, a paint.exe sketch should do), or a short description. The details required are: what is the view (front - i.e. back of the head pointing out of the screen or side - ears pointing out of the screen). One very simple thing to do even in 2D is implementing a follow the leader strategy. Here is the paper matthiasmueller.info/publications/FTLHairFur.pdf .
Feb
19
comment Character Movement in 3D games
Nobody can answer this question as it encompasses studies from both the artistic and scientific spectrum. Have you any bibliography you've consulted so far? Motion capture, interpolation, inverse kinematics are all too complex to fit in one, two or three answers to your question about natural movement. What kind of "code" would you like to see here? If you want to cheat a bit: add cam shake, inertia and a periodic sine to mimic walking gaits. You should be fine and dandy without going behind the scenes of motion artistry.
Feb
13
comment What's the best way of translating a 2D vector into the closest 8-way compass direction?
What about using the infinite norm? Dividing by max(abs(vector.components)) gives you a normalized vector with respect to that norm. Now you could write a small check-up table based on if (x > 0.9) dir |= DIR_E and all the rest. It should be better than Phillipp's original code and a bit cheaper than using the L2 norm and atan2. Maybe.. or maybe not.
Feb
7
comment Is using a half-edge mesh structure feasible?
If you need to edit the mesh in a complicated way considering local topology, then half edge and winged edge DSs are good, theoretical candidates. Mind that they rely on heap allocated data, which can lead to poor performance. Do you need multiresolution mesh editing? Are you measuring internal distances on polyhedral surfaces?
Feb
6
comment Cook Torrance model implementation : black specular light
Well, now I see the problem. F0 is supposed to be between 0 and 1.0 in the first place. It must have something to do with how the view/eye vector and the half vector alignment contribute to the fresnel reflectivity, therefore it is a linear interpolation factor. Mind it and keep it in [0,1].
Feb
6
comment Resolving a collision with forces
+1 for the remark of being necessary to adjust the position as well. Few people indulge this, but to add to the simulation stability, most engines cheat by adjusting the positions directly. All in all, if it's plausible, it works for games.