1,076 reputation
110
bio website
location Munich, Germany
age 28
visits member for 1 year, 10 months
seen 2 days ago

Programmer at Realmforge Studios mostly doing engine and graphics programming.


Jul
14
comment Games able to use 4+ core CPUs properly
Threads that are used to solve blocking behaviour of some libraries don't get any benefit from multiple cores as waiting threads do not block a core. Some physic libraries, eg PhysX 3.x can use multiple threads to calculate physics in parallel and benefit basically from an unlimited number of cores when the physic requirements of the game are very high. As the OS does have to do stuff in parallel I would definitly prefere 3-4 Cores to 2.
Jun
30
comment More than 8 lights without deferred shading / lighting
He is talking about GLSL so he is not limited to the fixed function pipeline. When you can not do more than 8 lights in one pass you have to do another pass. Simply render the object again additivly with the additional lights. Repeat until done. If that is too slow you will need Deferred Shading or some other buffering technique or you have to cull your lights more efficiently.
Jun
3
comment What is wrong with my specular phong shading
Looks good. VertexPos, lightPos and normal must all be in the same space. Shininess[index] and Ks[index] must be valid. Try to input fixed, extreme values for these. Your output looks like it is diffuse only, did you actually add the specular result?
Jun
3
comment What is wrong with my specular phong shading
Normal is in correct space?
May
5
comment Unity3D draw call optimization : static batching VS manually draw mesh with MaterialPropertyBlock
@jjmontes That cost is only payed once when the texture is bound for the first time and not each draw call. Regarding texture bandwidth: The question was how to reduce the overhead of a draw call not how to make the execution of the draw call faster, eg by reducing vertex count or texture lookups. Completly different question.
May
5
comment HLSL Circle all white
You should pass them via shader constants as they do not change during a draw call. Eg Using Shaders in Direct3D 9
Feb
11
answered Do I need threads in Hangman game?
Feb
6
comment Batching and Z-order with Alpha blending in a 3D world
OIT is good when a sorting by object or by polygon is not possible because there is no single correct order for the polygons, eg two transparent polygons intersect or when rendering really complex transparent meshes. In your case this is not the case. You will not be able to implement it on a mobile device and it is much slower than smartly batching the sprites into as few draw calls as possible.
Feb
6
comment Batching and Z-order with Alpha blending in a 3D world
This is much more efficient than rendering every sprite separately and this technique isn't very cpu intensive. Draw calls are expensive because they cost a lot of cpu time.
Feb
4
answered Batching and Z-order with Alpha blending in a 3D world
Feb
4
answered Issue with interpolation on a burn shader (lerp and smoothstep)
Jan
21
comment What is the purpose of inertial space and what are its uses?
I think this term was used in the book '3D Math Primer for Graphics and Game Development' but I don't think it is really used in rendering.
Dec
19
revised Why not use vectors to represent orientation?
Removed the part that is not related to the question because of clarification by the questions author.
Dec
19
revised Why not use vectors to represent orientation?
added 688 characters in body
Dec
19
revised Why not use vectors to represent orientation?
added 287 characters in body; deleted 285 characters in body
Dec
19
answered Why not use vectors to represent orientation?
Dec
7
awarded  Yearling
Oct
22
answered Computing pixel's screen position in a vertex shader: right or wrong?
Oct
22
comment Implementing skeletal animation and GPU skinning (DOOM MD5)
I suggest you write a little test where you transform the bone positions and rotations on the cpu and render helper objects to figure out where the problem lies.
Oct
22
comment Implementing skeletal animation and GPU skinning (DOOM MD5)
I'm pretty sure += is wrong here as it is applied to the transformation not to the transformed vertex as I did it in my proposal. The transformations itself can not simply get scaled and summed together, think about what happens when scaling a rotation matrix. Summing the weighted resulting vertices using += is a barycentric combination that results in the final vertex.