Forcing yourself to do very short projects is always a creative motivator when you don’t have much free time. Today I spent about 5 minutes playing with Terragen 2.3 and about 15 minutes rendering. For 5 minutes invested you get some reasonably cool looking results.
Why Terragen?
First of all Terragen allows you to play with the technology with very few limits for free. Trying before you buy is critical. The second reason is that I found it more intuitive than my quick tests with Vue, so I thought I would play with it first.
What am I going to use it for?
I think I’m going to try and script a way of generating sky boxes if I find the time and I might also use it for rendering out planets for space scenes. If my tests go well enough I might pick up a license. The $399USD for the animation version is a bit steep so I will have to see if I get a good ROI on my investment before I shell it out.
Where can I find out more?
I think there are some really good examples here. Some are commercial and some are free.
If you are interested in the scene file that generated the above image here is the code in text (save out to mountain3.tgd and load with terragen):
<terragen name = "Project" gui_use_node_pos = "1" gui_node_pos = "660 -160 0" gui_group = "" written_by_program = "Terragen 2" written_by_version = "2.3.22.1" author = "" comments = "" current_frame = "1" start_frame = "1" end_frame = "100" gui_network_view_position = "799.8521668 -120.403373 0" gui_network_view_size = "519 307 0" gui_network_view_zoom = "0.1873318851" > <camera name = "Render Camera" gui_use_node_pos = "1" gui_node_pos = "640 0 0" gui_group = "Cameras" position = "90.80148193 1061.064146 -1142.72722" rotation = "-8 30 0" light_exposure = "1" perspective = "1" use_horizontal_fov = "1" horizontal_fov = "60" use_vertical_fov = "0" vertical_fov = "40" focal_length_in_mm = "31.17691454" film_aperture_in_mm = "36 24" orthographic = "0" use_ortho_width = "1" ortho_width = "1000" use_ortho_height = "0" ortho_height = "1000" motion_blur_length = "0.5" shutter_offset = "0" subject_distance = "100" aperture_diameter_in_mm = "5" import_position = "1" import_rotation = "1" import_Z_up = "0" import_vertical_FOV = "1" import_focal_length = "0" import_focal_length_to_FOV = "0" do_not_import_FOV = "0" import_offset = "0 0 0" import_scale = "1" import_filename = "" > </camera> <render name = "Full Render" gui_use_node_pos = "1" gui_node_pos = "960 -120 0" gui_group = "Renderers" master = "1" image_width = "800" lock_aspect_ratio = "0" image_height = "600" image_aspect_ratio = "1.333333333" pixel_aspect_ratio = "1" camera = "Render Camera" surfaces_visible = "1" atmosphere_visible = "1" do_shadows = "1" detail = "0.5" anti-aliasing = "3" ray_trace_objects = "1" ray_trace_atmosphere = "1" GI_relative_detail = "3" GI_sample_quality = "3" GI_blur_radius = "8" supersample_prepass = "1" GI_surface_details = "1" do_crop_region = "0" crop_left = "0" crop_right = "1" crop_bottom = "0" crop_top = "1" crop_to_object = "0" crop_object_name = "" pixel_filter = "2" anti-aliasing_bloom = "1" detail_blending = "0" displacement_filter = "1" microvertex_jittering = "1" detail_jittering = "1" lock_subdiv_to_frame = "0" lock_to_frame_number = "1" do_reverse_primary_rays = "0" reverse_primary_rays_multiplier = "1" fix_holes = "1" do_ray_traced_shadows = "1" ray_trace_everything = "0" soft_clip_effect = "1" soft_clip_softness = "1" compensate_soft_clip = "1" contrast = "1" contrast_adjust = "0.25" gamma_correction = "2.2" minimum_threads = "1" maximum_threads = "16" size_of_subdiv_cache_in_Mb = "800" preallocate_subdiv_cache = "0" ray_detail_region = "1" ray_detail_region_padding = "0" GI_prepass_padding = "0" output_image_filename = "C:\temp.%04d.bmp" extra_output_images = "1" extra_output_image_filename = "C:\temp.IMAGETYPE.%04d.bmp" micro_exporter = "0" micro_exporter_name = "" sequence_first = "1" sequence_last = "100" sequence_step = "1" > <render_pixel_sampler name = "Render pixel sampler 02" gui_use_node_pos = "1" gui_node_pos = "1160 -60 0" gui_group = "" anti-aliasing = "3" customise_sampling = "0" first_sampling_level = "2" pixel_noise_threshold = "0.1" > </render_pixel_sampler> </render> <render name = "Quick Render" gui_use_node_pos = "1" gui_node_pos = "960 -180 0" gui_group = "Renderers" master = "0" image_width = "320" lock_aspect_ratio = "0" image_height = "240" image_aspect_ratio = "1.33333" pixel_aspect_ratio = "1" camera = "Render Camera" surfaces_visible = "1" atmosphere_visible = "1" do_shadows = "1" detail = "0.25" anti-aliasing = "2" ray_trace_objects = "1" ray_trace_atmosphere = "0" GI_relative_detail = "2" GI_sample_quality = "2" GI_blur_radius = "8" supersample_prepass = "0" GI_surface_details = "0" do_crop_region = "0" crop_left = "0" crop_right = "1" crop_bottom = "0" crop_top = "1" crop_to_object = "0" crop_object_name = "" pixel_filter = "2" anti-aliasing_bloom = "0" detail_blending = "0" displacement_filter = "1" microvertex_jittering = "1" detail_jittering = "1" lock_subdiv_to_frame = "0" lock_to_frame_number = "1" do_reverse_primary_rays = "0" reverse_primary_rays_multiplier = "1" fix_holes = "1" do_ray_traced_shadows = "1" ray_trace_everything = "0" soft_clip_effect = "1" soft_clip_softness = "1" compensate_soft_clip = "1" contrast = "1" contrast_adjust = "0.25" gamma_correction = "2.2" minimum_threads = "1" maximum_threads = "16" size_of_subdiv_cache_in_Mb = "800" preallocate_subdiv_cache = "0" ray_detail_region = "1" ray_detail_region_padding = "0" GI_prepass_padding = "0" output_image_filename = "C:\temp.%04d.bmp" extra_output_images = "1" extra_output_image_filename = "C:\temp.IMAGETYPE.%04d.bmp" micro_exporter = "0" micro_exporter_name = "" sequence_first = "1" sequence_last = "100" sequence_step = "1" > <render_pixel_sampler name = "Render pixel sampler 01" gui_use_node_pos = "1" gui_node_pos = "1160 -120 0" gui_group = "" anti-aliasing = "2" customise_sampling = "0" first_sampling_level = "2" pixel_noise_threshold = "0.15" > </render_pixel_sampler> </render> <enviro_light name = "Enviro light" gui_use_node_pos = "1" gui_node_pos = "320 0 0" gui_group = "Lighting" enable = "1" mode = "1" ambient_strength_on_surfaces = "1" ambient_colour_on_surfaces = "0.6499999762 0.8000000119 1" ambient_strength_in_atmosphere = "1" ambient_colour_in_atmosphere = "0.6499999762 0.8000000119 1" global_strength_on_surfaces = "1" global_tint_on_surfaces = "1 1 1" global_strength_in_atmosphere = "1" global_tint_in_atmosphere = "1 1 1" strength_on_surfaces = "1" colour_on_surfaces = "1 1 1" strength_in_atmosphere = "1" colour_in_atmosphere = "1 1 1" > </enviro_light> <sunlight name = "Sunlight 01" gui_use_node_pos = "1" gui_node_pos = "320 -60 0" gui_group = "Lighting" enable = "1" heading = "13.5" elevation = "2" colour = "1 1 1" strength = "3.5" cast_shadows = "1" shadows_of_surfaces = "1" shadows_of_atmosphere = "1" soft_shadows = "0" soft_shadow_diameter = "0.5" soft_shadow_samples = "9" soft_shadow_sample_jitter = "1" glow_in_atmosphere = "1" specular_highlights = "1" visible_disc = "1" angular_diameter = "0.5" > </sunlight> <sphere name = "Background" gui_use_node_pos = "1" gui_node_pos = "0 -60 0" gui_group = "Objects" enable = "1" show_b-box_in_preview = "0" visible_to_camera = "1" visible_to_other_rays = "1" cast_shadows = "0" centre = "0 0 0" radius = "-200000000" rotate = "0 0 0" import_motion_filename = "" heading = "0" elevation = "0" distance = "0" surface_shader = "Background shader" displacement_tolerance = "1" > <constant_shader name = "Background shader" gui_use_node_pos = "1" gui_node_pos = "200 0 0" gui_group = "" enable = "1" input_node = "" gui_use_preview_patch_size = "0" gui_preview_patch_size = "1000 1000" colour = "0 0 0" alpha = "0 0 0" > </constant_shader> </sphere> <planet name = "Planet 01" gui_use_node_pos = "1" gui_node_pos = "0 0 0" gui_group = "Objects" enable = "1" show_b-box_in_preview = "0" render_surface = "1" translate_textures_with_planet = "0" render_atmosphere = "1" rotate_textures_with_planet = "0" lat_long_at_apex = "0 0" centre = "0 -6378000 0" rotation = "0 0 0" radius = "6378000" import_motion_filename = "" heading = "0" elevation = "270" distance = "6378000" surface_shader = "Base colours" atmosphere_shader = "Altocumulus layer 01" displacement_tolerance = "1" > </planet> <planet_atmosphere name = "Atmosphere 01" gui_use_node_pos = "1" gui_node_pos = "0 340 0" gui_group = "Atmosphere" enable = "1" input_node = "" gui_use_preview_patch_size = "0" gui_preview_patch_size = "1000 1000" enable_primary = "1" enable_secondary = "1" centre = "0 -6378000 0" radius = "6378000" seed = "0" haze_density = "1.5" haze_horizon_colour = "0.349999994 0.349999994 0.349999994" bluesky_density = "2" bluesky_horizon_colour = "0.224999994 0.3585940003 0.4499999881" bluesky_additive = "0.9" bluesky_additive_colour = "0.05000000075 0.270938009 1" redsky_decay = "2" haze_exp_height = "3000" bluesky_exp_height = "8000" ceiling_adjust = "7" ceiling = "56000" floor = "-16000" haze_glow_amount = "1" haze_glow_power = "1.25" bluesky_glow_amount = "0.25" bluesky_glow_power = "0.75" enviro_light = "1" enviro_light_tint = "1 1 1" anisotropic_enviro_light = "1" ambient = "0 0 0" fake_dark_power = "0" fake_dark_sharpness = "10" bluesky_density_colour = "0.1000000015 0.3400000036 1" redsky_decay_colour = "0.9048374295 0.7117702961 0.3678794503" improved_glow_model = "1" number_of_samples = "16" adjust_to_distance = "1" sample_jitter = "1" enable_ray_traced_shadows = "0" > </planet_atmosphere> <power_fractal_shader_v3 name = "Base colours" gui_use_node_pos = "1" gui_node_pos = "-920 220 0" gui_group = "Shaders" enable = "1" input_node = "Compute Terrain" gui_use_preview_patch_size = "0" gui_preview_patch_size = "1000 1000" seed = "8028" feature_scale = "1" lead-in_scale = "1000" smallest_scale = "0.1" noise_octaves = "15" apply_high_colour = "1" high_colour = "0.3440000117 0.3440000117 0.3440000117" apply_low_colour = "1" low_colour = "0.0009923999896 0.01346999966 0.0009923999896" colour_contrast = "0.125" colour_offset = "0" colour_roughness = "5" clamp_high_colour = "1" clamp_low_colour = "1" apply_displacement = "0" displacement_direction = "1" displacement_amplitude = "1" displacement_offset = "0" displacement_roughness = "1" displacement_spike_limit = "1" continue_spike_limit = "0" adjust_coastline = "0" coastline_altitude = "0" coastline_smoothing = "30" noise_flavour = "0" noise_variation = "1" variation_method = "2" buoyancy_from_variation = "0" clumping_of_variation = "0" noise_stretch_XYZ = "1 1 1" distort_by_normal = "1" distortion_by_normal = "5" lead-in_warp_effect = "1" lead-in_warp_amount = "0.5" less_warp_at_feature_scale = "0" allow_vertical_warp = "0" blend_by_shader = "0" blending_shader = "" fit_blendshader_to_this = "0" invert_blendshader = "0" > </power_fractal_shader_v3> <heightfield_shader name = "Heightfield shader 01" gui_use_node_pos = "1" gui_node_pos = "-920 720 0" gui_group = "Terrain" enable = "1" input_node = "" gui_use_preview_patch_size = "0" gui_preview_patch_size = "1000 1000" heightfield = "Heightfield generate 01" flip_x = "0" flip_y = "0" position_centre = "0" position_lower_left = "1" position_upper_left = "0" position = "0 0" border_blending = "0.1" stitchable_border = "0" apply_colour_and_shade = "0" diffuse_colour = "1 1 1" ambient_light_colour = "0 0 0" shade_by_light = "1" shade_by_height = "0" height_multiplier = "1" flatten_surface_first = "1" interpolation_method = "3" add_fractal_detail = "1" fractal_amount = "0.5" fractal_scale_adjust = "4" fractal_variation = "1.5" fractal_roughness = "1" fractal_flow_factor = "0" blend_by_heightfield = "0" blending_heightfield = "" blend_by_shader = "0" blending_shader = "" fit_blendshader_to_this = "1" invert_blendshader = "0" > </heightfield_shader> <heightfield_generate name = "Heightfield generate 01" gui_use_node_pos = "1" gui_node_pos = "-720 780 0" gui_group = "Terrain" input_node = "" new_heightfield = "1" size_in_pixels = "1000 1000" size_in_metres = "10000 10000" feature_scale = "2000" feature_steepness = "0.25" roughness = "0.875" seed = "22328" variation = "1.5" variation_method = "2" buoyancy_from_variation = "0.5" shader = "" position_center = "0" position_lower_left = "1" position = "0 0" auto_generate = "0" > </heightfield_generate> <compute_terrain name = "Compute Terrain" gui_use_node_pos = "1" gui_node_pos = "-920 500 0" gui_group = "Terrain" enable = "1" input_node = "Fractal terrain 01" gui_use_preview_patch_size = "0" gui_preview_patch_size = "1000 1000" gradient_patch_size = "20" smooth_surface = "0" > </compute_terrain> <group name = "Objects" gui_use_node_pos = "1" gui_node_pos = "0 -80 0" gui_group = "" gui_node_size = "240 320 1" gui_node_colour = "0.8000000119 0.8000000119 0.8000000119" special_group = "1" global_bookmark = "1" > </group> <group name = "Terrain" gui_use_node_pos = "1" gui_node_pos = "-720 660 0" gui_group = "" gui_node_size = "640 440 1" gui_node_colour = "0.2119999975 0.5174000263 0.1138999984" special_group = "2" global_bookmark = "1" > </group> <group name = "Shaders" gui_use_node_pos = "1" gui_node_pos = "-720 220 0" gui_group = "" gui_node_size = "640 280 1" gui_node_colour = "0.7968999743 0.1604000032 0.1604000032" special_group = "3" global_bookmark = "1" > </group> <group name = "Water" gui_use_node_pos = "1" gui_node_pos = "200 720 0" gui_group = "" gui_node_size = "640 240 1" gui_node_colour = "0.1000000015 0.5 0.349999994" special_group = "4" global_bookmark = "1" > </group> <group name = "Atmosphere" gui_use_node_pos = "1" gui_node_pos = "200 290 0" gui_group = "" gui_node_size = "640 280 1" gui_node_colour = "0.2310000062 0.3203999996 1" special_group = "5" global_bookmark = "1" > </group> <group name = "Lighting" gui_use_node_pos = "1" gui_node_pos = "320 -80 0" gui_group = "" gui_node_size = "240 320 1" gui_node_colour = "1 0.7299000025 0.2195000052" special_group = "6" global_bookmark = "1" > </group> <group name = "Cameras" gui_use_node_pos = "1" gui_node_pos = "640 -80 0" gui_group = "" gui_node_size = "240 320 1" gui_node_colour = "0.3021000028 0.2673999965 0.4647000134" special_group = "7" global_bookmark = "1" > </group> <group name = "Renderers" gui_use_node_pos = "1" gui_node_pos = "973 -80 0" gui_group = "" gui_node_size = "266.0336416 320 1" gui_node_colour = "0.7372000217 0.3440000117 0.2119999975" special_group = "8" global_bookmark = "1" > </group> <alpine_fractal_shader name = "Fractal terrain 01" gui_use_node_pos = "1" gui_node_pos = "-920 600 0" gui_group = "Terrain" enable = "1" input_node = "/Heightfield shader 01" gui_use_preview_patch_size = "0" gui_preview_patch_size = "1000 1000" seed = "19998" feature_scale = "4000" lead-in_octaves = "0" lead-in_scale = "4000" smallest_scale = "10" noise_octaves = "6" apply_displacement = "1" displacement_amplitude = "2000" displacement_offset = "0" displacement_roughness = "1" scale_step = "3" stretch_factor = "3" late_deposition = "0.06125" early_deposition = "0.25" early_deposition_rate = "2" warp_amount = "0.25" blend_by_shader = "0" blending_shader = "" invert_blendshader = "0" > </alpine_fractal_shader> <cloud_layer_v2 name = "Altocumulus layer 01" gui_use_node_pos = "1" gui_node_pos = "0 220 0" gui_group = "Atmosphere" enable = "1" input_node = "/Atmosphere 01" gui_use_preview_patch_size = "0" gui_preview_patch_size = "1000 1000" enable_primary = "1" enable_secondary = "1" move_textures_with_cloud = "0" centre = "0 -6378000 0" radius = "6378000" seed = "0" cloud_altitude = "4152" cloud_depth = "150" local_sphere = "0" local_sphere_centre = "0 4152 0" local_sphere_radius = "10000" local_sphere_falloff = "1" local_sphere_value_at_radius = "-0.5" density_shader = "Density fractal 01" edge_sharpness = "1" cloud_density = "0.01" coverage_adjust = "0" cloud_colour = "0.349999994 0.349999994 0.349999994" scattering_colour = "0.349999994 0.349999994 0.349999994" sun_glow_amount = "1" sun_glow_power = "1.25" light_propagation = "2" light_propagation_mix = "0.125" fake_internal_scattering = "1" enviro_light = "1" enviro_light_tint = "1 1 1" darker_unresolved_scattering = "1" anisotropic_enviro_light = "1" altitude_offset_function = "" altitude_offset_multiplier = "1" depth_modulator = "" depth_modulator_centre = "0" final_density_modulator = "" ambient = "0 0 0" fake_dark_power = "0" fake_dark_sharpness = "10" improved_lighting_model = "1" flatter_base = "0" invert_profile = "0" base_wispiness = "0" base_softness = "0" coverage_gamma = "1" rendering_method = "1" quality = "0.2898979486" number_of_samples = "6" sample_jitter = "1" ray_fuzziness = "0" step_optimisation = "0" enable_ray_traced_shadows = "0" acceleration_cache = "2" use_2D_shadow_map = "0" shadow_map_resolution = "200 200" shadow_map_blur_radius = "2 2" > </cloud_layer_v2> <cloud_fractal_shader_v3 name = "Density fractal 01" gui_use_node_pos = "1" gui_node_pos = "200 280 0" gui_group = "Atmosphere" enable = "1" input_node = "" gui_use_preview_patch_size = "0" gui_preview_patch_size = "1000 1000" seed = "410" feature_scale = "150" lead-in_scale = "20000" smallest_scale = "10" noise_octaves = "13" apply_high_colour = "1" high_colour = "1 1 1" apply_low_colour = "0" low_colour = "0 0 0" contrast = "1" coverage_adjust = "0" roughness = "1.75" clamp_high = "0" clamp_low = "0" apply_displacement = "0" displacement_direction = "1" displacement_amplitude = "1" displacement_offset = "0" displacement_roughness = "1" displacement_spike_limit = "1" continue_spike_limit = "0" adjust_coastline = "0" coastline_altitude = "0" coastline_smoothing = "30" noise_flavour = "0" noise_variation = "1" variation_method = "2" buoyancy_from_variation = "0.5" clumping_of_variation = "0.25" noise_stretch_XYZ = "1 1 1" distort_by_normal = "0" distortion_by_normal = "5" lead-in_warp_effect = "1" lead-in_warp_amount = "0.5" less_warp_at_feature_scale = "1" allow_vertical_warp = "1" blend_by_shader = "0" blending_shader = "" fit_blendshader_to_this = "0" invert_blendshader = "0" > </cloud_fractal_shader_v3> <water_shader name = "Water shader 01" gui_use_node_pos = "1" gui_node_pos = "0 780 0" gui_group = "Water" enable = "1" input_node = "" gui_use_preview_patch_size = "0" gui_preview_patch_size = "1000 1000" roughness = "0.02" wave_scale = "10" smallest_scale = "0.1" wind_patch_effect = "1" wind_patch_size = "100" wind_patch_sharpness = "5" master_reflectivity = "1" index_of_refraction = "1.33" horizon_shift = "0.5" highlight_intensity = "0.5" min_highlight_spread = "0.01" transparency = "0.75" decay_distance = "10" decay_tint = "0.75 1 0.5" volume_1_density = "0" volume_1_colour = "0.5 0.5 0.5" volume_1_density_function = "" volume_1_colour_function = "" seed = "65268" > </water_shader> </terragen>
Just found this link that might do the trick if I get the pro version:
http://neon.wireframe.biz/node/29
Hi,
Nice picture for 5 min. work !
Maybe you can help me: i’m desperately looking for the way to render separate channels and passes for compositing (RGBAZ, normal maps, global illum, ambient occlusion, shadows etc.).
Where the hell can i find that ??
Thanks a lot for your answer.
Greetings
I am assuming you mean rendering those channels out in Terragen? I haven’t done any professional work with Terragen.
I think that you are in luck for depth information as there appears to be a distance shader. Check out the various links listed here. I’m not sure if the rest are available.
Yeah found the disance shader and i could already get a ZDepth channel.
Other channels rendering won’t be to hard to find; the thing is you have to do everything by yourself in this software, by connecting the right nodes.
But thank you for the link !