Tuesday 15 March 2016

Learning Resources on Computational GRaphics

3Ds MAx on Lynda.com

After taking the first course, which I did not finish since I ain't interested in animationa and advanced lighting, etc. I signed up for a trial account at digital tutors, which is also prety good. The videos I watched from this short course, CG101 are prety good and explains very well the concepts.

So now I need to learn 3DS or other 3D modeling sftware to be able to manipulate the Salamonde model from Autocad 3D. So I'm taking this course 3ds Max 2013 Essential Training and hope that 2013 is not so far away from 2016.


Some more sites on CG

http://www.scratchapixel.com/lessons/3d-basic-rendering/global-illumination-path-tracing

http://home.lagoa.com/2014/04/ray-tracing-vs-path-tracing-in-plain-english/

Monday 14 March 2016

Materials

There are 2 kinds (at least for now)

  • Physical materials govern colisions: rebound, friction, etc.
  • Visual (?) materials govern the interaction with light (that's a very correct way of putting it). They call this Materials. I'll discuss.
Material (visual) properties:
  • Albedo -  In reality the definition of albedo is the percentage of light it reflects, whiteness - blackness, but here they use it for the color when there is no light (strange...maybe they mean under neutral, white light). Albedo comes from latin albus =  white. We can assign one value to the whole oblect or a map.
  • Metalic (map and slider) - the way it reflects light,
  • Roughness - more on the way it reflects light, see diffuse and specular to know more, later on.
  • And there are more maps which can be stored in the chanels of the rgb+alpha images 
WHat I don't know yet is how the maps are atributed to the geometry!


Sunday 13 March 2016

Colisions

This video explains the logic well. Must assign colision properties to objects. The easiest way is to assign Mesh coliders, but it is expensive since the engine must keep track of all the polygons. Most times we can use box or sphere coliders and set them in a smart way.

Animation

For now I'm not to worried about this but what I learned:
animations are created in Maya or 3Ds or Blender, Unity is not good;
creating a character has three steps: modelling (building the model mesh), rigging (the skeleton and the logic and hierarchy and skinning (joininng the two);

Friday 11 March 2016

Lighmaps UV

This expression keeps popping up from time to time, had to investigate.

So lighmapping is a way of baking light effect in objects. It only works for static objects and static lights. As is is baked it is not calculated in realtime. In reality a new texture incorporating the effect of lighning replaces the material's native texture and the light can be eliminated (or at least we don't need to calculate it's effect on that object in real time). Great video here.

Wikipedia page

Light in general in Unity

Lighmaps in Unity (starting point)

Now another question that I didnt understand is this UV mapping, though I think I have an idea that this is similar to the way FLAC2D from Itasca works, with local coordinates.

So this answer is great.

UV are the local coordinates of a flat surface with U and V going from 0 to 1. This video explains well what and how a UV map is built, but it really is the "skin" of the object taken out, cut in strategic places and stretched out and mapped in the coordinates.

Thursday 10 March 2016

Normal maping

I came accross this very cool concept on a Unity video @ Lynda's course. The idea is to record surface detail of an object by taking the surface normals on an image using RGB to represent the normal vector components in each pixel.
Then we can degrade the mesh but use the normal map of the detailed version on the degraded mesh. Of course the lights must nknow how to deal with this geometrically flat surface containing detailed information on the relief. Very cool!

Because most of the surfaces will have normal normals (pointing out of the surface, a big part of the normal maps will be kind of blue, i.e. flat.



Normal mapping is a kind of Bump mapping. We can also record elevation coordinates. With these we can really deform the surface or we can use the surface topograpfy just for interaction with light.

Wikipedia for normal mapping
Wikipedia for bump mapping
Unity for normal mapping, very complete!

Tuesday 8 March 2016

Learning Unity on Lynda.com - Part 1

Decided to take a structured Unity course to gain some structured learning. The disadvantage is that I'll have to go through stuff that doesn't mater much to me, since I'm not really developing games. More on that latter. Tha advantage is that I won't loose time looking at stuff done for older versions, repeated content and, more important, I have a structure to follow, there is always one more video to watch.

As to not developing a game, I guess that what I want to do will contain most of the components of a game.

So what I did is take a 10 day free trial on Lynda.com from Linkedin (which now wons Lynda, which makes sense) and started this course. Then I found out that the trial is for the Basic Lynda membership, which does not allow me to download the course files. Up to recently I never paid for content online, today I find that sometimes it is really worth it (maybe I now appreciate that my time is finite and valuable). I guess I'll be signing up for a Premium membership for about 25€/month, at least while learning Unity, 3DS Max and Revit.


Monday 7 March 2016

BIM and Virtual Reality - Visualization in demanding conditions

BIM visualiation is demanding due tothe large number of objects on screen. According to this paper "Real-time visualization of building information models (BIM) - Current state vs. state-of-the-art" by Mikael Johansson and Mattias Roupé we have three strategies to accelerate:
  1. GPUcentric optimizations - maximize the raw processing power of modern GPUs. E.g. arrange the draw-order of objects by material properties to minimize state changes. It is not indefenitable scalable. 
  2. Level-of-detail - reduce the complexity of a 3D object representation when the object is far away from the current viewpoint, but who produces the simplified models?
  3. Visibility culling - only sending objects that are potentially visible to the GPU. Two kinds of culling:
    1. frustum culling, where objects are discarded if they are found to be outside the visible region of space, as defined by the virtual camera
    2. occlusion culling the: discard objects that are guaranteed to be hidden in the final image. Harder to implement but very efficient in buildings
This paper compared performance for the three viewers and they are all bad:
  • Tekla BimSight
  • Autodesk Navisworks
  • Solibri Model Viewer (the best by far).