SIGN IN
  |  
SIGN UP

Every pixel has a reason

Unlike many naive rendering implementations, at geom.io every pixel has a reason for its color. We don't summon lighting or reflections out of thin air. To light a model you first need a light source. To reflect something, you need things to reflect.


geom.io is energy-conserving. That means, surfaces can't reflect more light than they receive. Incoming lighting is either reflected or absorbed. It never gives you overblown highlights.


Our lighting is truly HDR - it goes far beyond usual monitor color capabilities. We don't represent colors and lighting as simple 0-255 values, instead they are floating-point.

To fit that huge range of intensities into a monitor, we utilize filmic tonemapping. It doesn't just linearly compress HDR color into a smaller range but gives an effect similiar to capturing an image on film.


geom.io is also aware of sRGB gamma correction and uses linear workflow. Your diffuse textures are interpreted as sRGB data, lighting is produced linearly and then final image is converted back to the monitor gamma space.


Most of our lighting comes from a HDR map - that is called Image-Based Lighting. Instead of making the ambient lighting just a constant color, we project a HDR map from all different directions that gives your model more volume in shadowed spots. Reflections are also produced by a HDR map that gives much more realistic and sophisticated specular highlights than when using mathematical specular models.


With geom.io you don't have to bake shadows and have all that headache about unique UV layouts, padding, lightmap seams etc. You can just enable shadows for any of our real-time lights by clicking a checkbox. That is, we support multiple soft shadows without baking.


You can also be sure that your textures always look sharp with hardware that supports anisotropic filtering (any hardware except some old smartphones).


Want to implement something really special? We support custom GLSL fragment shaders too. We supply the same attributes, constants and textures to custom shaders as we use in ours.




Upload  |  Project  |  Features  |  Gallery  |  Planned  |  Terms of Service  |  Support  |  Donate  |  Authors