Some questions about graphic technics...

Started by
0 comments, last by KurtCPP 20 years, 11 months ago
Hi dudes! Here are some questions for the strongest amongst you : 1. Has someone heard about an algorithm that sorts values without performing any comparisons? I believe it''s called "bubble sort" but I''m not sure. This algorithm only has to increment values in an array, and then these values become the ranks of the values to be sorted. If someone could explain to me how it exactly works, that''d be kinda nice. 2. Despite all my pains, I''ve not been able to find what mipmapping is. That''s kinda pain in the ass. Could someone explain to me what it consists of, please?? 3. I would also like to learn about "Voxels", what this word means, what voxels are used for, what they are made out of, and so on... 4. I have noticed an object represented in 3D often have faces made with many parallel polygons that make an only face (for example, see the cylinder in DX8 SDK''s MeshViewer). Why do people put several rectangles insted of simply using an only one to represent a face? Actually I think this way can improve the lighting management but I would like to be answered by someone who knows. 5. Here''s the last one ( finally!!) : how come some polygons are made out of 2 triangles sharing an edge, whereas some rectangles are simply made with four vertices?? What kind of polygon should I use if I only want to map a texture on a plane square in 2D with Direct3D8. Thanks to all.
Prog, Games & Rock'n'Roll :I don't like the Prog but the Prog likes me.
Advertisement
Sorry if these answers aren't detailed enough, it's just a quick summary of what I know of them:

1. Bubble sort does compare adjacent values and flips them if they need to be. This process is repeated throughout a list until no more swaps are necessary (each time through the list, you can start at the next location to reduce the length of the next parse). Radix sort doesn't perform comparisons, however. Radix sort works by dumping values into buckets repeatedly. And the way it is done, once you are finished, everything is sorted without comparing anything.

2. Mipmapping is a way to speed up rendering by storing multiple sizes of a texture. A polygon that is meant to have that texture will use the mipmap that best covers the polygon with a detailed enough texture. This keeps the engine from rendering too large of texture on a polygon that would appear very small, which would be overkill. Using the smaller versions of the texture speeds it up by piping less information through the renderer.

3. I think a voxel is a way of rendering a scene by building it with a bunch of squares assembled together. It can be used for fast terrain rendering, which the Comanche game used back in '93 with a software renderer. I could be way off on that. I've never worked with them, only heard of them.

4. The more polygons on an object, the more accurate vertex lighting appears. A lit polygon appears lit only because of the colors rendered at each vertex, which blend themselves within the polygon. A large square composed of many smaller squares, then, would appear more accurately lit than one single large square, because the many squares allow gradients to occur in the center of the square, enhancing the lighting effect. That's one reason to have more polygons than are necessary to define a shape.

5. All hardware renderers draw their geometry based on the triangle (although some may be able to draw quads directly as well). Since ALL polygons can be represented by adjacent triangles, then typically all geometry is represented by triangles in 3D graphics. In D3D, just tell the engine you want to draw a quad (square), tell it which texture to use, and decal the texture onto the vertices.


[edited by - Waverider on June 5, 2003 1:20:50 PM]
It's not what you're taught, it's what you learn.

This topic is closed to new replies.

Advertisement