# doogyhatts

Member

21

122 Neutral

• Rank
Member

## Personal Information

• Website
• Role
Technical Director
Voxel Artist
• Interests
Programming

doogyhatts
1. ## Logarithmic Depth Buffer for Orthographic Camera

So I had tried to implement the logarithmic depth buffer solution, but I realised that my camera is orthographic. So the math should be different as compared to the one used for perspective camera. From Outerra's article, The DirectX formula is z = log(C * w + 1) / log(C * Far + 1) * w Does anyone know how to modify it for use with an orthographic camera?
2. ## Age of Conan (Lots of Screenshots)

I really wonder what stuff in their engine is making the GPU utilization so poor... I can only run it with 13-15 fps on my mid-range ATI card.
3. ## detecting cpu specifications

Hi, I am wondering if there are some windows specific functions or other related ones that allows an application to detect its amount of system ram, and processor speed. So far I understand there is already a number of cpu cores detection utility and source code in the DXSDK. thx! Edwin
4. ## quaternion vector product

thx to all who replied! Actually I went to do some testing and found that if you use the standard derivation for rotating a vector by a quaternion, the result is similar to the one given by OGRE's code (or more correctly, by NVidia rather). In short, it looks like an optimised version compared to the standard derivation. thx again! Edwin
5. ## quaternion vector product

Actually the code snippet above was my own, rather i used a reference from the source code OGRE had in, and tailor the syntax to my own math lib. I am actually asking for explanation on a mathematical point of view, eg why do u do the cross product and then multiply by 2 and then the angle? This portion is related to the quaternion and axis-angle relational proof. However, this is all I could understand for now. I am still trying to figure out the rest. 5 stars for anyone who can help... thx! Edwin
6. ## quaternion vector product

Hi, I looked at OGRE before and they had a portion of the quaternion code taken from NVidia SDK. I am trying to understand the math for the product of a quaternion with a vector. template<typename T> Vector3D<T> Quaternion<T>::operator * (Vector3D<T> V) { Vector3D<T> uv, uuv; uv = Axis.Cross(V); uuv = Axis.Cross(uv); uv *= (2.0f * Angle); uuv *= 2.0f; return V + uv + uuv; } Can someone enlighten me on this matter? thx! Edwin
7. ## Scene depth based rendering

Ok! I am been trying to figure out what "scene based depth rendering", but not with much luck. From the slides talking about the CryEngine 2 renderer, there is a section on "recovering world space position from scene depth". Within that slide, they mentioned 2 points. 1) an interpolated distance from the camera position to its frustum's 4 far plane corners. 2) scaling the normalized linear eye space depth by the interpolated distance. For (1), I was wondering if they were refering to interpolated directions instead? I cant figure out how a single float value for the distance can be interpolated across without having the same value across the entire surface. For (2), What is meant by "normalized linear eye space depth"? Or how do we normalize and linearize the eye space depth? thx!
8. ## Magic Numbers [R2VB]

Ok I was looking at the R2VB particle system sample from the ATI Radeon SDK and happen to notice a set of magic numbers when the author tried to calculate a higher precision order random value. //initPhysics.shd float rand0 = tex2D(Rand, -texCoord).w; float rand1 = tex2D(Rand, 10.2428 * texCoord).w; float rand2 = tex2D(Rand, -4.724 * texCoord).w; float rand3 = tex2D(Rand, 0.5128 * texCoord).w; //create a higher precision random value from the four 16bit values float rand = frac(8.0 * rand0 + 4.0 * rand1 + 2.0 * rand2 + rand3); The magic numbers I am referring to are the -texCoord,10.2428,etc... Somehow I did have the feeling that there were precomputed instead. Does anyone know how the author arrived at such numbers?? I also checked, the "Rand" texture isnt clamped. thx! Edwin
9. ## Good Terrain Algorithm

You can use ATI's R2VB to transfer texel data to the vertex shader. (I am assuming you are using D3D). It should be possible to convert the clipmap algorithm without changing your entire renderer, although different set of rendering passes and vertex data preparations had to be used. Check it out in the ATI Radeon SDK. Edwin
10. ## saving .x files

hi guys. So far I can only find one article on saving .x files at Toymaker, but its poorly detailed though. Are there any others? thx!
11. ## Inputs for Perlin Noise

Hi there! I read this website and tried to implement a basic 2D perlin noise generator. http://freespace.virgin.net/hugo.elias/models/m_perlin.htm I am confused on what kind of values to pass in for the float x and float y based on the website's stated function: PerlinNoise_2D. Also, I checked another demo and find that the implementation uses a permutation table instead (which looks to be different from the website), and it uses normalized row and column values for the "x and y" input values. thx! hope someone can enlighten me.
12. ## Third Person Camera System

For just the orientation, I simply use quaternions which are based on relative mouse movement values. This easily simulates the Alice in Wonderland's 3rd person camera. For the directional movement, I use the method similar to takingsometime did. I use 2 spatial nodes from the scenegraph such that one node tries to chase the other in front. The distance between them dictate how fast or slow the chaser node tries to catch up with the reference node. 2c
13. ## boost shared ptr to base type

Hi I got a simple question to ask. Whats the syntax for casting a shared_ptr of a Derived class to its Base class? Pseudocode: class Base; class Derived; typedef shared_ptr<Base> SPBase; typedef shared_ptr<Derived> SPDerived; SPDerived pDerived; //incorrect SPBase base = shared_pointer_cast<Base>(pDerived); thx!
14. ## What would be the best way to create a dx3d9 stick man and animate it

I would load predefined and animated models like the "boy" model in ATI SDK.
15. ## Typical number of bones in a model

Quote: Hardly on a shader model 1 card, and even not all shader model 3 cards do vertex texturing (I think NVIDIA does, but ATI not). I use R2VB on the ATI cards instead.