What does this mean?

I have been playing with cg for like 3 years, but i still lack a lot of terms. What is (or are…):

  • Caustics
  • Fresnel (Name of guy who made the algorithm?)
  • Gamma Correction
  • Vector
  • Tangent
  • Octree
  • Normals (I know it’s something about faces…is it there direction?)
  • HDRI (I?)
    That’s all i know for know. Any links would be helpful. Dont give me justfuckinggoogleit.com, i already did, and didn’t get any results that i could fully understand, or no good hits at all (like with caustics). A dumb down defintion will do fine to. I’m just curious about all this, btw :smiley:

One last thing: I know what fresnel does, but i would just like to know what it does…huh…like whether it pushes color to the edge (it looks like it), or if it scales textures and stuff, etc.

Caustics - Something to do with transparency
Fresnel - Hell knows
Gamma Correction - Post pro work
Vector - Not pixels
Tangent - Angle (?)
Octree - Something to do with the level of detail in your scene compared to the geographical size
Normals - The direction a face is pointing

There are lots of resources that explain some of these clearly. It is a bit much to just throw on the forum and not get flamed or limited responses, some should be addressed in geometry class, etc. so use Wikipedia, the greatest resource since the Library of Alexandria. Having said this…

  • Caustics = The rippling edges of light under water and the focused “hotspots” of light in glass, not related to the corrosive definition of caustic except that the lights are always “hot spots” in images. Look for some image examples, as verbal descriptions kind of miss the point
  • Fresnel = I tend to see this as the rainbow like color shifts on metals and iridescent surfaces, but looking it up didn’t help, so… research?
  • Gamma Correction = The adjust to the mid-gray point on the output, which effects the apparent darkness/lightness, but doesn’t directly change the “black point” and “white point” of the image.
  • Vector = Related to angles, as in directions of line segments. Often more related to “pixel art” -little bits of color- and “vector art” such as Illustrator and EPS, also connected to curves and Bezier aspects of shape construction
  • Tangent = That line that intersects a surface, check for a diagram on this one, words excape me… Try this http://en.wikipedia.org/wiki/Tangent
  • Octree = Wikipedia is your friend…http://en.wikipedia.org/wiki/Octree Octree is a tree data structure in which each internal node has up to eight children. Octrees are most often used to partition a three dimensional space by recursively subdividing it into eight octants.
  • Normals = That imaginary line that move vertically off the surface of a polygon, to indicate which direction it is facing. Represented in “normal” maps as an image with rainbow hues to indicate the normals. Again, http://en.wikipedia.org/wiki/Surface_normal
  • HDRI = High Dynamic Range Image(s) If you look outside, your eyes adjust to the bright light from looking in the dark shadows. If you take a photo, it will only show a range of light values, artificially crushing the data into a scale of values. An HDRI file more accurately represents the brightness of sunlight, all the way down to the subtle variations in deep shade. Look it up, very much more interesting than more truncated explanation. http://en.wikipedia.org/wiki/HDRI
  • Good luck…, reading and pursuit of knowledge are a gift I give myself and always grow from the effort.

Paul

Fresnel is the tendancy of materials to reflect more light at small angles than at large angles. To demonstrate, stand in the middle and look down a hallway. Notice how the light reflects off the walls from the open door at the end of the hall. Now stand with your head right next to the wall (lowering the angle) notice the light from the door reflects off the wall almost like the wall is wet.
Frensnel is the name of the French scientist who first published his observations of this phenomenon. Fresnel also did work in thin film reflectance and lenses, so his name is also associated with those fields as well.

Gamma Correction - adjusting the lighting to account for adjustments already made to video monitors to get realistic lighting. That’s a really rough idea. See the Gamma and Tone Correction link in my sig, but be prepared for some heavy reading.

Vector - a mathematical construct with a starting point, a length and a direction. In CG, vector graphics refers to drawings stored as vectors rather than bitmaps or collections of vertices. In the 2D graphic world, vector graphics are scalable (can zoom in or out without loss of sharpness) but bit map graphics are not. In 3D graphics, an edge corresponds to a vector, if you think of one vertex of the edge as the beginning and the other as the end.

Normal - a vector that is perpendicular to a plane, usually drawn from the center of the plane. In 3D graphics, the normal vector points away from the “front side” of the plane. Normals for edges and vertices are arbitrary constructs that depend on surrounding edges or vertices in some way so a unique normal can be calculated.

Octree - a data structure that makes ray tracing calculations a lot faster, in most cases.

Tangent - a straight line that shows the direction a curve is going at some particular point. On a circle, the tangent is always perpendicular to a radius draw to the particular point.

Let’s see, how does all this relate to our favorite 3D graphics program?

Caustics is something that Blender Internal renderer does not do, and everyone wishes it would, so their scenes with glass in them would look more realistic. Fresnel is a setting in the materials panel, that affects how much light reflects depending on the angle. Tangent, Normal and Octree relate to the math that’s used under the hood in Blender, which occaisionally comes to the surface as a setting (Octree, Tangent Shading) or a problem (Blender pointed the normals the wrong way). HDRI and Gamma Correction are things you’ll have to learn how to do if you want photorealistic renders, especially of interiors or automobiles.

Any questions? :evilgrin:

Don’t really need to know about octrees since that’s just the underlying data structure they use to store the 3d space.

I was reading about them the other day and you can set the levels on it to suit the scene, different settings for a big scene with lots of small details or a small scene with large details–something like that.

If I were a programmer…I’d look into porting the octree onto the gpu since newer gpus are turning into general purpose simd processors and it would probably speed things up considerably. I would think at least. There’s a GNU lib floating around somewhere that uses opengl to do this that I found a while back but it’s way beyond my skill level to even begin to know where to start.

Enough of the random tangents for now I suppose.

–edit–

I know we all wish blender could do this

Sammaron: I guess you haven’t taken Trigonometry/Precalculus? :smiley:

What! There were caustics in that?! Where!? I didn’t see em…:evilgrin:

Nah, I was mainly referring to the speed gains from pushing the render pipeline onto the gpu. The same LOD on my computer would take about five minutes per frame using blender internal.

Now I’m wondering if one could call the custom gpu shaders by using a pynode and get similar results in blender since they are using a three level sss for the skin like is currently popular around here. Might need a c helper app if there isn’t a lib for python to make direct gl calls but I really don’t see a reason why it couldn’t work. Academically speaking of course since I don’t have one of those fancy gpus nor do I understand the opengl shader language.

I might have to look into that (and quit trying to hijack this thread) since I’m not really doing anything productive right now anyway.

Speed is nice, especially when rendering, but wouldn’t something like that be platform dependant? I mean, not so much platform, but GPU? I’d be interested in seeing what you come up with. :smiley:

Orinoco, hat’s off!! Whoot, whoot. Some of the cleanest explanations so far. Many of these are fairly easy to see in images, but finding the collection of words to correct describe the phenomena is a bit harder. I will now remember Fresnel far better. I did have the math classes back along the way, but 3D work has pushed some of these definitions to the foreground in tangible ways. I was disappointed to hear that Blender doesn’t have Caustics yet. I have been on the Lightwave/modo side of the equation, migrating towards Blender for a host of good reasons, but there is no perfect program, so this info surprised me.
Paul

hehehehehehe :smiley:

Thanks for the replies, especially about Fresnel and HDRI. I still don’t quite understand tangents (i’m still doing congruency of tri’s :D), but From what i think i learned: would an example of a tangent be one of those handles on a key in the ipo window (in edit mode, in ipo window)? That’s purty much a wild guess, but i tried, i did.

About caustics, is that pretty much when the renderer actually reflects/refracts light, and not just the images behind the refracting object? Or is it when it takes the volume of the material into account? I dunno, but hopefully you can fix that :smiley:

Thanks for replies, great great help :smiley:

So great, i wanna ask about one more:

  • Radiosity. I know it’s about lighting, but what is it intended to replicate, and where is it appropriate or commonly used?
  • Caustics: the sparks of concentrated light when it goes through transparent materials with index of refraction different from the air and also from reflective materials
  • Fresnel: Fresnel was a french scientist in the field of optics and got a homage here. It has to do with the way reflections blend with the material color at all but tangential angles
  • Gamma Correction: something to do with brightness of an image
  • Vector: basic math, anyone? :wink: a point in 3D space can be represented by a vector, given length, direction and sense
  • Tangent: a tangent to a surface is the point where a line touches it by becoming perpendicular to the normal at that point. meh, bad definition… :stuck_out_tongue:
  • Octree: raytracing optimization technique
  • Normals: the vector pointing outwards from a face, perpendicular to it
  • HDRI: high-range dynamic imaging

Indeed. Very impressive nvidia demo.

As it turns out, the game industry is pushing new techs further than any previous academic research before. Raytracing, photon mapping and path tracing don’t really take much advantage from the GPU, despite it going more general. Many research projects have tried and performance don’t turn out much better than on a CPU. Not even the big guys like Mental Ray or VRay seem much interested in it.

The GPU is amazing though to scanline and other aproximation techniques geared at fast real-time rendering. Eventually it may well be that we just drop raytracers and accurate GI techniques in favor of the much faster approximations the games industry have been pumping out…

Yes, it would. You’ve got it! :smiley:

It’s the feature that helps global illumination for more realistic lighting, by calculating diffuse reflections of light before they hit the camera. It creates a soft shadow effect. Example. Bigger example. Biggest example. Notice how the color of the carpet in Bigger example “bleeds” onto the walls. (I know, I plagiarzed a little)

Here is an interesting site. It’s even more fun if you go back to home and start exploring. I guess that this is sort of on topic.

http://hyperphysics.phy-astr.gsu.edu/hbase/HFrame.html

Oh, that link does seem to be home, check out light and vision.

You’ve got to have enough data to make it worthwhile doing something on the GPU. The data transfer back and forth can be fairly slow, so you need to do a lot of calculations when you’re there to make up for it. I’ve been implementing an AI algorithm in CUDA, and it’s fast. I’m talking nearly 2 orders of magnitude faster than CPUs (of similar age to my graphics card :stuck_out_tongue: ). However, it’s slower than a cpu if I don’t give it a lot to churn on each time step. If 1 block of data took 1s to run, then 32 blocks took 1.2s. Something like that, the overheads can be large.

Secondly, memory can be more of a problem. Graphics card ram is much more limited, CUDA is platform specific (openGL versions would work pretty much everywhere though), and more issues. However, if it’s worth it, it usually pays off massively.

AHA! I’m learning well :smiley:

Back to tangents. Cause i think i’m learning. Is that how Bezier calculates his paths (is he dead?). Are the handles just tangents, but instead of the tangents being dependent on the curve, the curve is dependent on the tangent?

Radiosity: Shweet.

More :smiley:

Blender terms (i apologize, i tried googling some of these, but… :D)

Sticky (in blender, i mean). Why would you use it, and what it for?
TexMesh: I know what it does, but i can’t think of why you’d want to use it

Edit:// Still don’t really get Stickies, but TexMeshes look awesome! I would be overjoyed if i could get any quick, or dirty examples. That page is very extensive, i’ma start diggin away at that.

A quick note on caustics:
It is basically the effect refracted light has on surfaces once it has passed through a transparent object. It manifests as light and dark patches (refractive “shadows”) in distorted shapes based on the shape and volume of the transparent object.

BTW, good idea for a thread.

Right. In bezier curves, IPO handles, and other places where you manipulate curved shapes with handles, the handle is tangent to the curve. So, you move the handle, Blender adjusts the curve so the handle is a tangent.

Now, tangents are only defined mathematically where the curve is continuous. Here Blender has the advantage, because you can break a handle into a left segment and a right segment, and each half handle will only adjust one side of the curve, so they will have a corner at the spot where the handle touches the curve. In mathematics, tangent is undefined in this situation, but in Blender, it works just fine! :smiley: