   Working with paint
  Hi,I am currently doing a game where it is essential to play with paint balls. Therefor I want to paint spots in my game world.[Implementation Step 1]I first want to paint a simple texture at the point where the ball hits an object/wall/etc. How do I do that? Should I texture the object with it multiple textures? (it is possible to hit the object on different points, so there will be 20 textures or more on that object). Should I render into a single texture and then texture the object?If Yes, please give me a brief explanation how it work. If No, please tell me how this is done.[Implementation Step 2]I want to use the particle system of PhysX to simulate paint and make it more realistic. Is this possible? If no is there any possiblity to achieve what I want?Thank you.Before I forget: I am using OpenGL 3.2 Core Profile   
  You mean having the paint liquids physically simulated? Not impossible, but really difficult, and probably slow as well I guess. You can let the physics engine move around particles, but I doubt if that will look good at all. Paint is quite a thick substance, it doesn't splash like water does. Maybe an idea... What you maybe could do is making a bunch of invisible balls that are connected to each other with elastic-like joints. On impact, create a random blob of balls and then let it (slowly) expand on the surfaces until the joints are limiting. PhysX probably can do that. Otherwise I think it can be done with cheap gravity and moving the balls onto the object surface. The balls are then used as into to render the paint-blob-mesh. You may want to look into metaballs or something. Anyway, the balls outline the paint mesh, or can be used to deform with a vertex-shader or something.Somewhat simpler (but less spectacular maybe) is creating a "splatter" decal on the impact point. This is how games usually create blood on the walls and objects after a bullet impact. There are 2 ways to do this generally:1.- Surround the impact point with a box or sphere shape. Create decal mesh. Basically this is a copy of the polygons you hit, clipped by the box/sphere volume. Also known as "arbitrary decals". After that, map a "splat" texture onto that mesh using projective texturing.2.- Same idea as 1, but using projective texturing. This fits pretty well if you are using a deferred rendering approach. Store the impact point and create a screenvolume around it. When rendering, render a rectangle around the impact point and use the scene info textures to render the splat texture onto it.Look into decals for examples. Although most of the examples only use simply quad decals though, that is probably not sufficient for your situation.Now once you manage to create your decals, you can improve the whole thing with shader tricks. Since paint is thick and bumpy, normal- and parallax maps can help you simulating volume onto that flat decal texture. Also interesting is to let the splatter image grow over time. You can do this with difficult shader math, but another cheap ass trick would be blending between 2 textures; the initial (small) splat, and the final (big) splat texture where the paint has scattered all over the surface. Depending on the impact force/speed, use a short time to blend over from the small dot into the big splat texture.good luck!;  As spek said, "decals" is the term you want to search for.I also think that a reasonable particle-based simulation of paint splatter should not be too difficult.  I really wouldn't try to model the fluid blob.  Just, on impact, spawn a bunch of smaller paint particles with different velocities; I'd guess that to look good these should be distributed probabilistically in a way that depends both on the impact velocity and the plane normal (perhaps as "reflection law direction plus noise").  This is probably enough, but if you want you could perhaps also include second- and higher- order bounces too.  And at each impact, just leave an appropriate decal -- e.g. a randomly-selected "splatter" image, perhaps even stretched appropriately along the component along the plane of the incoming velocity, to give a "streakier" effect when appropriate.  This effect could be enhanced by having separate "streak" and "splot" decal textures.Neglecting the issue of which decals to display for the moment, the bouncing process you'd be simulating would be a heck of a lot like the process simulated by stochastic forward-raytracers -- just with an extremely small number of particles.   