# Reita

Member

40

122 Neutral

• Rank
Member
1. ## Correct local cubemap reflections

Another approach to localized cubemap-reflections has been presented in nVidia GPU Gems: Chapter 19, Image-Based Lighting. You might want to look into their technique because it doesn't put so much strain onto the GPU (you have a loop in your fragment shader!).
2. ## best method of evenly distributing points on a quad

Let's say you have a quad with a given side-length of A units. You want to evenly distribute N points on its surface. Split the quad into N smaller quads, e.g. by splitting each side of the original quad into sqrt(N) parts and then forming a raster. After this you get N quads with side-lengths of A / sqrt(N) (if sqrt(N) is a whole number). Within each of those sub-quads you pick a randomly generated point. This method is known as "stratified sampling" of an area and google should give you more information on the subject.
3. ## Quake 3 source up.

It's also available from FilePlanet: http://www.fileplanet.com/dl.aspx?/planetquake/bunker/quake3-1.32b-source.zip.
4. ## 3d Frustum Clipping

Take a look at the Sutherland-Hodgeman clipping algorithm, which might be exactly what you're looking for: Google results.
5. ## Cylinder Raytracing

In a brute-force renderer where you check all scene objects for a given ray for intersection, the early-exit version would be the one to prefer, because most of the time there wouldn't be an intersection anyway. But as you're obviously caring for performance you're most likely using some sort of spatial subdivision to speed up the raytracing process. In this case I'd vote for the second method because after scene graph traversal the probability that the cylinder in question is hit by the ray is high.

2.8GHz Pentium 4, 512 MB RAM, Mobility Radeon 9000 11-13 frames per second. Very cool! - I suppose the stencilling part of the sample is a real performance-killer for software rendering.
7. ## Software Rendering Library

Hi! Today I'd like to present my latest piece of work: a software rendering library. Muli3D has been in development for about seven months (started in late February) and is available from SourceForge under the LGPL license. Just recently I've added support for Linux, where the X11 library is used for rendering to the screen. (DirectDraw is used under Windows.) Some of Muli3D's features: - Wireframe and solid fill rendering with sub-pixel accuracy - Vertex- and pixel shaders (Infact there is no fixed function pipeline - everything has to be implemented through shaders.) - Support for triangle-lists, strips and fans + indexed primitives - 16-bit and 32-bit index buffer formats, Multiple vertex data streams - Floating point textures depth- and framebuffers - Render-to-texture operations (to standard 2d textures or to individual faces of cubemaps) - Mipmapping, Point-sampling, bilinear and trilinear filtering supported - Triangle subdivision modes + Texture sampling in vertex- and pixelshaders => Displacement mapping The SDK - which is available from here comes with several samples, which compile both under Windows and Linux. I'd be glad if you could give them a try. In case anyone fancies writing a Muli3D-based application I'd be glad to be the first to know :-)