├── .gitignore ├── .vscode └── launch.json ├── README.md ├── audio_play_sound_spatialized.lua ├── audio_play_sound_spatialized.py ├── audio_play_sound_stereo.lua ├── audio_play_sound_stereo.py ├── audio_stream_ogg_stereo.lua ├── audio_stream_ogg_stereo.py ├── basic_loop.lua ├── basic_loop.py ├── draw_and_create_model_no_pipeline.lua ├── draw_and_create_model_no_pipeline.py ├── draw_lines.lua ├── draw_lines.py ├── draw_lines_starfield.lua ├── draw_lines_starfield.py ├── draw_model_no_pipeline.lua ├── draw_model_no_pipeline.py ├── draw_text.lua ├── draw_text.py ├── draw_text_over_models.lua ├── draw_text_over_models.py ├── filesystem_assets.lua ├── filesystem_assets.py ├── filesystem_local.lua ├── filesystem_local.py ├── filesystem_recursive_directory_listing.lua ├── filesystem_recursive_directory_listing.py ├── game_mouse_flight.lua ├── game_mouse_flight.py ├── imgui_basic.lua ├── imgui_basic.py ├── imgui_edit.lua ├── imgui_edit.py ├── imgui_mouse_capture.lua ├── imgui_mouse_capture.py ├── input_list_devices.lua ├── input_list_devices.py ├── input_read_gamepad.lua ├── input_read_gamepad.py ├── input_read_keyboard_advanced.lua ├── input_read_keyboard_advanced.py ├── input_read_keyboard_basic.lua ├── input_read_keyboard_basic.py ├── input_read_mouse_advanced.lua ├── input_read_mouse_advanced.py ├── input_read_mouse_basic.lua ├── input_read_mouse_basic.py ├── material_update_value.lua ├── material_update_value.py ├── physics_impulse.lua ├── physics_impulse.py ├── physics_kapla.lua ├── physics_kapla.py ├── physics_manual_setup.lua ├── physics_manual_setup.py ├── physics_overrides_matrix.lua ├── physics_overrides_matrix.py ├── physics_pool_of_objects.lua ├── physics_pool_of_objects.py ├── picture_load.lua ├── picture_load.py ├── picture_save.lua ├── picture_save.py ├── render_resize_to_window.lua ├── render_resize_to_window.py ├── resources ├── biped │ ├── Bip001 Head_box.geo │ ├── Bip001 L Calf_box.geo │ ├── Bip001 L Clavicle_box.geo │ ├── Bip001 L Finger01_box.geo │ ├── Bip001 L Finger02_box.geo │ ├── Bip001 L Finger0_box.geo │ ├── Bip001 L Finger11_box.geo │ ├── Bip001 L Finger12_box.geo │ ├── Bip001 L Finger1_box.geo │ ├── Bip001 L Finger21_box.geo │ ├── Bip001 L Finger22_box.geo │ ├── Bip001 L Finger2_box.geo │ ├── Bip001 L Finger31_box.geo │ ├── Bip001 L Finger32_box.geo │ ├── Bip001 L Finger3_box.geo │ ├── Bip001 L Finger41_box.geo │ ├── Bip001 L Finger42_box.geo │ ├── Bip001 L Finger4_box.geo │ ├── Bip001 L Foot_box.geo │ ├── Bip001 L Forearm_box.geo │ ├── Bip001 L Hand_box.geo │ ├── Bip001 L Thigh_box.geo │ ├── Bip001 L Toe01_box.geo │ ├── Bip001 L Toe02_box.geo │ ├── Bip001 L Toe0_box.geo │ ├── Bip001 L Toe11_box.geo │ ├── Bip001 L Toe12_box.geo │ ├── Bip001 L Toe1_box.geo │ ├── Bip001 L Toe21_box.geo │ ├── Bip001 L Toe22_box.geo │ ├── Bip001 L Toe2_box.geo │ ├── Bip001 L Toe31_box.geo │ ├── Bip001 L Toe32_box.geo │ ├── Bip001 L Toe3_box.geo │ ├── Bip001 L Toe41_box.geo │ ├── Bip001 L Toe42_box.geo │ ├── Bip001 L Toe4_box.geo │ ├── Bip001 L UpperArm_box.geo │ ├── Bip001 Neck_box.geo │ ├── Bip001 Pelvis_box.geo │ ├── Bip001 R Calf_box.geo │ ├── Bip001 R Clavicle_box.geo │ ├── Bip001 R Finger01_box.geo │ ├── Bip001 R Finger02_box.geo │ ├── Bip001 R Finger0_box.geo │ ├── Bip001 R Finger11_box.geo │ ├── Bip001 R Finger12_box.geo │ ├── Bip001 R Finger1_box.geo │ ├── Bip001 R Finger21_box.geo │ ├── Bip001 R Finger22_box.geo │ ├── Bip001 R Finger2_box.geo │ ├── Bip001 R Finger31_box.geo │ ├── Bip001 R Finger32_box.geo │ ├── Bip001 R Finger3_box.geo │ ├── Bip001 R Finger41_box.geo │ ├── Bip001 R Finger42_box.geo │ ├── Bip001 R Finger4_box.geo │ ├── Bip001 R Foot_box.geo │ ├── Bip001 R Forearm_box.geo │ ├── Bip001 R Hand_box.geo │ ├── Bip001 R Thigh_box.geo │ ├── Bip001 R Toe01_box.geo │ ├── Bip001 R Toe02_box.geo │ ├── Bip001 R Toe0_box.geo │ ├── Bip001 R Toe11_box.geo │ ├── Bip001 R Toe12_box.geo │ ├── Bip001 R Toe1_box.geo │ ├── Bip001 R Toe21_box.geo │ ├── Bip001 R Toe22_box.geo │ ├── Bip001 R Toe2_box.geo │ ├── Bip001 R Toe31_box.geo │ ├── Bip001 R Toe32_box.geo │ ├── Bip001 R Toe3_box.geo │ ├── Bip001 R Toe41_box.geo │ ├── Bip001 R Toe42_box.geo │ ├── Bip001 R Toe4_box.geo │ ├── Bip001 R UpperArm_box.geo │ ├── Bip001 Spine1_box.geo │ ├── Bip001 Spine2_box.geo │ ├── Bip001 Spine3_box.geo │ ├── Bip001 Spine_box.geo │ ├── biped.scn │ └── fbx_importer_cfg.txt ├── car_engine │ ├── 1001_01.geo │ ├── 1001_02.geo │ ├── 1001_03.geo │ ├── 1001_04.geo │ ├── 1001_05.geo │ ├── 1001_06.geo │ ├── 1001_07.geo │ ├── 1002_01.geo │ ├── 1002_02.geo │ ├── 1002_03.geo │ ├── 1002_04.geo │ ├── 1002_05.geo │ ├── 1002_06.geo │ ├── 1002_07.geo │ ├── 1002_08.geo │ ├── 1002_09.geo │ ├── 1002_10.geo │ ├── 1002_11.geo │ ├── 1002_12.geo │ ├── 1002_13.geo │ ├── 1002_14.geo │ ├── 1002_15.geo │ ├── 1002_16.geo │ ├── 1002_17.geo │ ├── 1002_18.geo │ ├── 1002_19.geo │ ├── 1002_20.geo │ ├── 1002_21.geo │ ├── 1002_22.geo │ ├── 1002_23.geo │ ├── 1002_24.geo │ ├── 1002_25.geo │ ├── 1002_26.geo │ ├── 1002_27.geo │ ├── 1002_28.geo │ ├── 1002_29.geo │ ├── 1002_30.geo │ ├── 1002_31.geo │ ├── 1011_04.geo │ ├── 1011_05.geo │ ├── 1011_06.geo │ ├── 1011_07.geo │ ├── 1011_08.geo │ ├── 1011_09.geo │ ├── 1011_10.geo │ ├── 1011_11.geo │ ├── 1011_12.geo │ ├── 1011_13.geo │ ├── 1011_14.geo │ ├── 1011_15.geo │ ├── 1011_16.geo │ ├── 1011_17.geo │ ├── 1011_18.geo │ ├── 1011_19.geo │ ├── 1011_20.geo │ ├── 1011_21.geo │ ├── 1011_22.geo │ ├── 1011_23.geo │ ├── 1011_24.geo │ ├── 1011_25.geo │ ├── 1011_26.geo │ ├── 1012_07.geo │ ├── 1012_08.geo │ ├── 1012_09.geo │ ├── 1012_10.geo │ ├── 1012_11.geo │ ├── 1012_12.geo │ ├── 1012_13.geo │ ├── 1012_14.geo │ ├── 1012_15.geo │ ├── 1012_16.geo │ ├── 1012_17.geo │ ├── 1012_18.geo │ ├── 1012_19.geo │ ├── 1012_20.geo │ ├── 1012_21.geo │ ├── 1012_22.geo │ ├── 1012_23.geo │ ├── 1012_24.geo │ ├── 1012_25.geo │ ├── 1012_26.geo │ ├── 1012_27.geo │ ├── ORM_1001.png │ ├── ORM_1001.png.meta │ ├── ORM_1002.png │ ├── ORM_1002.png.meta │ ├── ORM_1011.png │ ├── ORM_1011.png.meta │ ├── ORM_1012.png │ ├── ORM_1012.png.meta │ ├── brand_logo.png │ ├── brand_logo.png.meta │ ├── brand_logo_plain.png │ ├── car_engine_1001_BaseColor.1001.png │ ├── car_engine_1001_BaseColor.1001.png.meta │ ├── car_engine_1002_BaseColor.1002.png │ ├── car_engine_1002_BaseColor.1002.png.meta │ ├── car_engine_1011_BaseColor.1011.png │ ├── car_engine_1011_BaseColor.1011.png.meta │ ├── car_engine_1012_BaseColor.1012.png │ ├── car_engine_1012_BaseColor.1012.png.meta │ ├── engine.scn │ ├── engine.scn.aaa │ ├── engine.scn.editor │ ├── fbx_importer_cfg.txt │ ├── forsubstance_low_1001_Normal.png │ ├── forsubstance_low_1002_Normal.png │ ├── forsubstance_low_1011_Normal.png │ └── forsubstance_low_1012_Normal.png ├── core │ ├── noise │ │ ├── 64 │ │ │ ├── HDR_L_0.png │ │ │ ├── HDR_L_1.png │ │ │ ├── HDR_L_10.png │ │ │ ├── HDR_L_11.png │ │ │ ├── HDR_L_12.png │ │ │ ├── HDR_L_13.png │ │ │ ├── HDR_L_14.png │ │ │ ├── HDR_L_15.png │ │ │ ├── HDR_L_16.png │ │ │ ├── HDR_L_17.png │ │ │ ├── HDR_L_18.png │ │ │ ├── HDR_L_19.png │ │ │ ├── HDR_L_2.png │ │ │ ├── HDR_L_20.png │ │ │ ├── HDR_L_21.png │ │ │ ├── HDR_L_22.png │ │ │ ├── HDR_L_23.png │ │ │ ├── HDR_L_24.png │ │ │ ├── HDR_L_25.png │ │ │ ├── HDR_L_26.png │ │ │ ├── HDR_L_27.png │ │ │ ├── HDR_L_28.png │ │ │ ├── HDR_L_29.png │ │ │ ├── HDR_L_3.png │ │ │ ├── HDR_L_30.png │ │ │ ├── HDR_L_31.png │ │ │ ├── HDR_L_32.png │ │ │ ├── HDR_L_33.png │ │ │ ├── HDR_L_34.png │ │ │ ├── HDR_L_35.png │ │ │ ├── HDR_L_36.png │ │ │ ├── HDR_L_37.png │ │ │ ├── HDR_L_38.png │ │ │ ├── HDR_L_39.png │ │ │ ├── HDR_L_4.png │ │ │ ├── HDR_L_40.png │ │ │ ├── HDR_L_41.png │ │ │ ├── HDR_L_42.png │ │ │ ├── HDR_L_43.png │ │ │ ├── HDR_L_44.png │ │ │ ├── HDR_L_45.png │ │ │ ├── HDR_L_46.png │ │ │ ├── HDR_L_47.png │ │ │ ├── HDR_L_48.png │ │ │ ├── HDR_L_49.png │ │ │ ├── HDR_L_5.png │ │ │ ├── HDR_L_50.png │ │ │ ├── HDR_L_51.png │ │ │ ├── HDR_L_52.png │ │ │ ├── HDR_L_53.png │ │ │ ├── HDR_L_54.png │ │ │ ├── HDR_L_55.png │ │ │ ├── HDR_L_56.png │ │ │ ├── HDR_L_57.png │ │ │ ├── HDR_L_58.png │ │ │ ├── HDR_L_59.png │ │ │ ├── HDR_L_6.png │ │ │ ├── HDR_L_60.png │ │ │ ├── HDR_L_61.png │ │ │ ├── HDR_L_62.png │ │ │ ├── HDR_L_63.png │ │ │ ├── HDR_L_7.png │ │ │ ├── HDR_L_8.png │ │ │ └── HDR_L_9.png │ │ ├── HDR_L_0.png │ │ ├── HDR_L_1.png │ │ ├── HDR_L_2.png │ │ ├── HDR_L_3.png │ │ ├── HDR_L_4.png │ │ ├── HDR_L_5.png │ │ ├── HDR_L_6.png │ │ ├── HDR_L_7.png │ │ ├── LDR_RGBA_0.png │ │ ├── LDR_RGBA_1.png │ │ ├── LDR_RGBA_10.png │ │ ├── LDR_RGBA_11.png │ │ ├── LDR_RGBA_12.png │ │ ├── LDR_RGBA_13.png │ │ ├── LDR_RGBA_14.png │ │ ├── LDR_RGBA_15.png │ │ ├── LDR_RGBA_16.png │ │ ├── LDR_RGBA_17.png │ │ ├── LDR_RGBA_18.png │ │ ├── LDR_RGBA_19.png │ │ ├── LDR_RGBA_2.png │ │ ├── LDR_RGBA_20.png │ │ ├── LDR_RGBA_21.png │ │ ├── LDR_RGBA_22.png │ │ ├── LDR_RGBA_23.png │ │ ├── LDR_RGBA_24.png │ │ ├── LDR_RGBA_25.png │ │ ├── LDR_RGBA_26.png │ │ ├── LDR_RGBA_27.png │ │ ├── LDR_RGBA_28.png │ │ ├── LDR_RGBA_29.png │ │ ├── LDR_RGBA_3.png │ │ ├── LDR_RGBA_30.png │ │ ├── LDR_RGBA_31.png │ │ ├── LDR_RGBA_32.png │ │ ├── LDR_RGBA_33.png │ │ ├── LDR_RGBA_34.png │ │ ├── LDR_RGBA_35.png │ │ ├── LDR_RGBA_36.png │ │ ├── LDR_RGBA_37.png │ │ ├── LDR_RGBA_38.png │ │ ├── LDR_RGBA_39.png │ │ ├── LDR_RGBA_4.png │ │ ├── LDR_RGBA_40.png │ │ ├── LDR_RGBA_41.png │ │ ├── LDR_RGBA_42.png │ │ ├── LDR_RGBA_43.png │ │ ├── LDR_RGBA_44.png │ │ ├── LDR_RGBA_45.png │ │ ├── LDR_RGBA_46.png │ │ ├── LDR_RGBA_47.png │ │ ├── LDR_RGBA_48.png │ │ ├── LDR_RGBA_49.png │ │ ├── LDR_RGBA_5.png │ │ ├── LDR_RGBA_50.png │ │ ├── LDR_RGBA_51.png │ │ ├── LDR_RGBA_52.png │ │ ├── LDR_RGBA_53.png │ │ ├── LDR_RGBA_54.png │ │ ├── LDR_RGBA_55.png │ │ ├── LDR_RGBA_56.png │ │ ├── LDR_RGBA_57.png │ │ ├── LDR_RGBA_58.png │ │ ├── LDR_RGBA_59.png │ │ ├── LDR_RGBA_6.png │ │ ├── LDR_RGBA_60.png │ │ ├── LDR_RGBA_61.png │ │ ├── LDR_RGBA_62.png │ │ ├── LDR_RGBA_63.png │ │ ├── LDR_RGBA_7.png │ │ ├── LDR_RGBA_8.png │ │ └── LDR_RGBA_9.png │ ├── pbr │ │ ├── blue_sky.hdr │ │ ├── blue_sky.hdr.meta │ │ ├── brdf.dds │ │ ├── probe.hdr │ │ └── probe.hdr.meta │ └── shader │ │ ├── a_trous_fs.sc │ │ ├── a_trous_varying.def │ │ ├── a_trous_vs.sc │ │ ├── aaa_downsample_fs.sc │ │ ├── aaa_downsample_varying.def │ │ ├── aaa_downsample_vs.sc │ │ ├── aaa_upsample_fs.sc │ │ ├── aaa_upsample_varying.def │ │ ├── aaa_upsample_vs.sc │ │ ├── aaa_utils.sh │ │ ├── bgfx_compute.sh │ │ ├── bgfx_shader.sh │ │ ├── bloom_combine_fs.sc │ │ ├── bloom_combine_varying.def │ │ ├── bloom_combine_vs.sc │ │ ├── bloom_downsample_fs.sc │ │ ├── bloom_downsample_varying.def │ │ ├── bloom_downsample_vs.sc │ │ ├── bloom_threshold_fs.sc │ │ ├── bloom_threshold_varying.def │ │ ├── bloom_threshold_vs.sc │ │ ├── bloom_upsample_fs.sc │ │ ├── bloom_upsample_varying.def │ │ ├── bloom_upsample_vs.sc │ │ ├── checkerboard_downsample_fs.sc │ │ ├── checkerboard_downsample_varying.def │ │ ├── checkerboard_downsample_vs.sc │ │ ├── compositing_fs.sc │ │ ├── compositing_varying.def │ │ ├── compositing_vs.sc │ │ ├── copy_fs.sc │ │ ├── copy_varying.def │ │ ├── copy_vs.sc │ │ ├── default.hps │ │ ├── default_fs.sc │ │ ├── default_varying.def │ │ ├── default_vs.sc │ │ ├── denoise_fs.sc │ │ ├── denoise_varying.def │ │ ├── denoise_vs.sc │ │ ├── dof_coc_fs.sc │ │ ├── dof_coc_varying.def │ │ ├── dof_coc_vs.sc │ │ ├── font_fs.sc │ │ ├── font_varying.def │ │ ├── font_vs.sc │ │ ├── forward_pipeline.sh │ │ ├── hiz_compute_cs.sc │ │ ├── hiz_copy_cs.sc │ │ ├── hiz_trace.sh │ │ ├── imgui_fs.sc │ │ ├── imgui_image_fs.sc │ │ ├── imgui_image_varying.def │ │ ├── imgui_image_vs.sc │ │ ├── imgui_varying.def │ │ ├── imgui_vs.sc │ │ ├── joint_bilateral_upsample_fs.sc │ │ ├── joint_bilateral_upsample_varying.def │ │ ├── joint_bilateral_upsample_vs.sc │ │ ├── missing_fs.sc │ │ ├── missing_varying.def │ │ ├── missing_vs.sc │ │ ├── motion_blur_fs.sc │ │ ├── motion_blur_varying.def │ │ ├── motion_blur_vs.sc │ │ ├── pbr.hps │ │ ├── pbr_fs.sc │ │ ├── pbr_varying.def │ │ ├── pbr_vs.sc │ │ ├── sao_blur_fs.sc │ │ ├── sao_blur_varying.def │ │ ├── sao_blur_vs.sc │ │ ├── sao_compute_fs.sc │ │ ├── sao_compute_varying.def │ │ ├── sao_compute_vs.sc │ │ ├── sao_upsample_fs.sc │ │ ├── sao_upsample_varying.def │ │ ├── sao_upsample_vs.sc │ │ ├── ssgi_fs.sc │ │ ├── ssgi_varying.def │ │ ├── ssgi_vs.sc │ │ ├── ssr_fs.sc │ │ ├── ssr_varying.def │ │ ├── ssr_vs.sc │ │ ├── taa_fs.sc │ │ ├── taa_varying.def │ │ ├── taa_vs.sc │ │ ├── temporal_accumulation_fs.sc │ │ ├── temporal_accumulation_varying.def │ │ └── temporal_accumulation_vs.sc ├── cyclo │ ├── cyclo.geo │ ├── cyclo.scn │ ├── cyclo.scn.editor │ └── fbx_importer_cfg.txt ├── font │ └── default.ttf ├── materials │ ├── Metal24_basecolor.jpg │ ├── Metal24_basecolor.jpg.meta │ ├── Metal24_normal.jpg │ ├── Metal24_normal.jpg.meta │ ├── Metal24_orm.jpg │ ├── Metal24_orm.jpg.meta │ ├── MetalPlates006_basecolor.jpg │ ├── MetalPlates006_basecolor.jpg.meta │ ├── MetalPlates006_normal.jpg │ ├── MetalPlates006_normal.jpg.meta │ ├── MetalPlates006_orm.jpg │ ├── MetalPlates006_orm.jpg.meta │ ├── PaintedWood01_basecolor.jpg │ ├── PaintedWood01_basecolor.jpg.meta │ ├── PaintedWood01_normal.jpg │ ├── PaintedWood01_normal.jpg.meta │ ├── PaintedWood01_orm.jpg │ ├── PaintedWood01_orm.jpg.meta │ ├── Rocks11_basecolor.jpg │ ├── Rocks11_basecolor.jpg.meta │ ├── Rocks11_normal.jpg │ ├── Rocks11_normal.jpg.meta │ ├── Rocks11_orm.jpg │ ├── Rocks11_orm.jpg.meta │ ├── WoodFloor07_basecolor.jpg │ ├── WoodFloor07_basecolor.jpg.meta │ ├── WoodFloor07_normal.jpg │ ├── WoodFloor07_normal.jpg.meta │ ├── WoodFloor07_orm.jpg │ ├── WoodFloor07_orm.jpg.meta │ ├── brick_old_red_01_basecolor.jpg │ ├── brick_old_red_01_basecolor.jpg.meta │ ├── brick_old_red_01_normal.jpg │ ├── brick_old_red_01_normal.jpg.meta │ ├── brick_old_red_01_orm.jpg │ ├── brick_old_red_01_orm.jpg.meta │ ├── concrete_wall_smooth_02_basecolor.jpg │ ├── concrete_wall_smooth_02_basecolor.jpg.meta │ ├── concrete_wall_smooth_02_normal.jpg │ ├── concrete_wall_smooth_02_normal.jpg.meta │ ├── concrete_wall_smooth_02_orm.jpg │ ├── concrete_wall_smooth_02_orm.jpg.meta │ ├── materials.scn │ ├── materials.scn.editor │ ├── metal_03_basecolor.jpg │ ├── metal_03_basecolor.jpg.meta │ ├── metal_03_normal.jpg │ ├── metal_03_normal.jpg.meta │ ├── metal_03_orm.jpg │ ├── metal_03_orm.jpg.meta │ ├── plane.geo │ ├── plastic_grunge_blue_03_basecolor.jpg │ ├── plastic_grunge_blue_03_basecolor.jpg.meta │ ├── plastic_grunge_blue_03_normal.jpg │ ├── plastic_grunge_blue_03_normal.jpg.meta │ ├── plastic_grunge_blue_03_orm.jpg │ ├── plastic_grunge_blue_03_orm.jpg.meta │ ├── sphere.geo │ ├── texture_05.jpg.meta │ ├── texture_05.png │ ├── texture_06.jpg.meta │ ├── texture_06.png │ ├── texture_07.jpg.meta │ ├── texture_08.jpg.meta │ └── texture_08.png ├── paper_plane │ ├── Shape.geo │ ├── fbx_importer_cfg.txt │ ├── paper_plane.scn │ └── paper_plane.scn.editor ├── pictures │ └── owl.jpg ├── playground │ ├── Cube.001.geo │ ├── Cube.002.geo │ ├── Cube.geo │ ├── Plane.geo │ ├── grid_baseColor.png │ ├── grid_baseColor.png.meta │ ├── playground.scn │ └── playground.scn.editor ├── primitives │ ├── cube.geo │ ├── fbx_importer_cfg.txt │ ├── grid.scn │ ├── grid.scn.editor │ ├── grid_baseColor.png │ ├── grid_baseColor.png.meta │ ├── ground.geo │ ├── ground_orm.png │ ├── plane.geo │ ├── primitives.scn │ ├── primitives.scn.editor │ ├── sphere.geo │ └── wall_orm.png ├── project.prj ├── shaders │ ├── bgfx_shader.sh │ ├── bloom │ │ ├── bgfx_shader.sh │ │ ├── bloom_combine_fs.sc │ │ ├── bloom_combine_varying.def │ │ ├── bloom_combine_vs.sc │ │ ├── bloom_downsample_fs.sc │ │ ├── bloom_downsample_varying.def │ │ ├── bloom_downsample_vs.sc │ │ ├── bloom_threshold_fs.sc │ │ ├── bloom_threshold_varying.def │ │ ├── bloom_threshold_vs.sc │ │ ├── bloom_upsample_fs.sc │ │ ├── bloom_upsample_varying.def │ │ ├── bloom_upsample_vs.sc │ │ ├── copy_fs.sc │ │ ├── copy_varying.def │ │ └── copy_vs.sc │ ├── depth_fs.sc │ ├── depth_varying.def │ ├── depth_vs.sc │ ├── forward_pipeline.sh │ ├── mdl_fs.sc │ ├── mdl_varying.def │ ├── mdl_vs.sc │ ├── pos_rgb_fs.sc │ ├── pos_rgb_varying.def │ ├── pos_rgb_vs.sc │ ├── sprite_fs.sc │ ├── sprite_varying.def │ ├── sprite_vs.sc │ ├── texture_fs.sc │ ├── texture_varying.def │ ├── texture_vs.sc │ ├── white_fs.sc │ ├── white_varying.def │ └── white_vs.sc ├── sounds │ ├── metro_announce.ogg │ ├── metro_announce.wav │ └── metro_announce_license.txt └── textures │ └── squares.png ├── scene_aaa.lua ├── scene_aaa.py ├── scene_capture_texture.lua ├── scene_capture_texture.py ├── scene_dof.lua ├── scene_dof.py ├── scene_draw_to_multiple_viewports.lua ├── scene_draw_to_multiple_viewports.py ├── scene_draw_to_texture.lua ├── scene_draw_to_texture.py ├── scene_instances.lua ├── scene_instances.py ├── scene_light_priority.lua ├── scene_light_priority.py ├── scene_lua_script.lua ├── scene_lua_script.py ├── scene_many_nodes.lua ├── scene_many_nodes.py ├── scene_pbr.lua ├── scene_pbr.py ├── scene_vr.lua ├── scene_vr.py ├── scene_vr_controllers.py ├── scene_vr_teleporter.lua ├── scene_xr.lua ├── scene_xr.py └── screenshots ├── aaa.png ├── basic_gui.png ├── draw_lines_starfield.png ├── game_mouse_flight.png ├── imgui_edit.png ├── physics_kapla.png ├── physics_pool_of_objects.png ├── scene_draw_to_multiple_viewports.png ├── scene_instances.png ├── scene_light_priority.png ├── scene_many_nodes.png └── scene_pbr.png /.gitignore: -------------------------------------------------------------------------------- 1 | /resources_compiled 2 | /_bin 3 | /assetc-ubuntu-x64-2.3.0 4 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "Python: Current File", 9 | "type": "python", 10 | "request": "launch", 11 | "program": "${file}", 12 | "cwd": "${workspaceFolder}/", 13 | "console": "integratedTerminal" 14 | }, 15 | { 16 | "name": "Lua: Current File", 17 | "type": "lua", 18 | "request": "launch", 19 | "stopOnEntry": false, 20 | "program": "${file}", 21 | "cwd": "${workspaceFolder}/", 22 | "luaexe": "C:/works/Harfang/lua/hg_lua-win-x64-3.2.7/lua.exe", 23 | }, 24 | { 25 | "name": "Go: Current file", 26 | "type": "go", 27 | "request": "launch", 28 | "mode": "debug", 29 | "program": "${file}" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /audio_play_sound_spatialized.lua: -------------------------------------------------------------------------------- 1 | -- Spatialized sound 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | hg.AudioInit() 7 | 8 | hg.AddAssetsFolder("resources_compiled") 9 | 10 | snd_ref = hg.LoadWAVSoundAsset("sounds/metro_announce.wav") 11 | src_ref = hg.PlaySpatialized(snd_ref, hg.SpatializedSourceState(hg.Mat4.Identity, 1, hg.SR_Loop)) 12 | 13 | angle = 0 14 | 15 | while not hg.ReadKeyboard('raw'):Key(hg.K_Escape) do 16 | dt = hg.TickClock() 17 | dt_sec_f = hg.time_to_sec_f(dt) -- delta frame in seconds 18 | 19 | -- compute the source old and new position in world 20 | src_old_pos = hg.Vec3(math.sin(angle), 0, math.cos(angle)) * 5 21 | angle = angle + hg.time_to_sec_f(hg.TickClock()) * 45 22 | src_new_pos = hg.Vec3(math.sin(angle), 0, math.cos(angle)) * 5 23 | 24 | -- source velocity in m.s-1 25 | src_vel = (src_new_pos - src_old_pos) / dt_sec_f 26 | 27 | -- update source properties 28 | hg.SetSourceTransform(src_ref, hg.TranslationMat4(src_new_pos), src_vel) 29 | end 30 | 31 | hg.AudioShutdown() 32 | hg.InputShutdown() 33 | -------------------------------------------------------------------------------- /audio_play_sound_spatialized.py: -------------------------------------------------------------------------------- 1 | # Spatialized sound 2 | 3 | import harfang as hg 4 | import math 5 | 6 | hg.InputInit() 7 | hg.AudioInit() 8 | 9 | hg.AddAssetsFolder("resources_compiled") 10 | 11 | snd_ref = hg.LoadWAVSoundAsset("sounds/metro_announce.wav") 12 | src_ref = hg.PlaySpatialized(snd_ref, hg.SpatializedSourceState(hg.Mat4.Identity, 1, hg.SR_Loop)) 13 | 14 | angle = 0 15 | 16 | while not hg.ReadKeyboard('raw').Key(hg.K_Escape): 17 | dt = hg.TickClock() 18 | dt_sec_f = hg.time_to_sec_f(dt) # delta frame in seconds 19 | 20 | # compute the source old and new position in world 21 | src_old_pos = hg.Vec3(math.sin(angle), 0, math.cos(angle)) * 5 22 | angle += hg.time_to_sec_f(hg.TickClock()) * 45 23 | src_new_pos = hg.Vec3(math.sin(angle), 0, math.cos(angle)) * 5 24 | 25 | # source velocity in m.s-1 26 | src_vel = (src_new_pos - src_old_pos) / dt_sec_f 27 | 28 | # update source properties 29 | hg.SetSourceTransform(src_ref, hg.TranslationMat4(src_new_pos), src_vel) 30 | 31 | hg.AudioShutdown() 32 | hg.InputShutdown() 33 | -------------------------------------------------------------------------------- /audio_play_sound_stereo.lua: -------------------------------------------------------------------------------- 1 | -- Play a mono sound with stereo panning 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | hg.AudioInit() 7 | 8 | snd_ref = hg.LoadWAVSoundFile('resources_compiled/sounds/metro_announce.wav') -- WAV 44.1kHz 16bit mono 9 | src_ref = hg.PlayStereo(snd_ref, hg.StereoSourceState(1, hg.SR_Loop)) 10 | 11 | angle = 0 12 | 13 | while not hg.ReadKeyboard('raw'):Key(hg.K_Escape) do 14 | angle = angle + hg.time_to_sec_f(hg.TickClock()) * 0.5 15 | hg.SetSourcePanning(src_ref, math.sin(angle)) -- panning left = -1, panning right = 1 16 | end 17 | 18 | hg.AudioShutdown() 19 | hg.InputShutdown() 20 | -------------------------------------------------------------------------------- /audio_play_sound_stereo.py: -------------------------------------------------------------------------------- 1 | # Play a mono sound with stereo panning 2 | 3 | import harfang as hg 4 | import math 5 | 6 | hg.InputInit() 7 | hg.AudioInit() 8 | 9 | snd_ref = hg.LoadWAVSoundFile('resources_compiled/sounds/metro_announce.wav') # WAV 44.1kHz 16bit mono 10 | src_ref = hg.PlayStereo(snd_ref, hg.StereoSourceState(1, hg.SR_Loop)) 11 | 12 | angle = 0 13 | 14 | while not hg.ReadKeyboard('raw').Key(hg.K_Escape): 15 | angle += hg.time_to_sec_f(hg.TickClock()) * 0.5 16 | hg.SetSourcePanning(src_ref, math.sin(angle)) # panning left = -1, panning right = 1 17 | 18 | hg.AudioShutdown() 19 | hg.InputShutdown() 20 | -------------------------------------------------------------------------------- /audio_stream_ogg_stereo.lua: -------------------------------------------------------------------------------- 1 | -- Stream a mono OGG file with stereo panning 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | hg.AudioInit() 7 | 8 | src_ref = hg.StreamOGGFileStereo("resources_compiled/sounds/metro_announce.ogg", hg.StereoSourceState(1, hg.SR_Loop)) -- OGG 44.1kHz 16bit mono 9 | 10 | angle = 0 11 | 12 | while not hg.ReadKeyboard('raw'):Key(hg.K_Escape) do 13 | angle = angle + hg.time_to_sec_f(hg.TickClock()) * 0.5 14 | hg.SetSourcePanning(src_ref, math.sin(angle)) -- panning left = -1, panning right = 1 15 | end 16 | 17 | hg.AudioShutdown() 18 | hg.InputShutdown() 19 | -------------------------------------------------------------------------------- /audio_stream_ogg_stereo.py: -------------------------------------------------------------------------------- 1 | # Stream a mono OGG file with stereo panning 2 | 3 | import harfang as hg 4 | import math 5 | 6 | hg.InputInit() 7 | hg.AudioInit() 8 | 9 | src_ref = hg.StreamOGGFileStereo("resources_compiled/sounds/metro_announce.ogg", hg.StereoSourceState(1, hg.SR_Loop)) # OGG 44.1kHz 16bit mono 10 | 11 | angle = 0 12 | 13 | while not hg.ReadKeyboard('raw').Key(hg.K_Escape): 14 | angle += hg.time_to_sec_f(hg.TickClock()) * 0.5 15 | hg.SetSourcePanning(src_ref, math.sin(angle)) # panning left = -1, panning right = 1 16 | 17 | hg.AudioShutdown() 18 | hg.InputShutdown() 19 | -------------------------------------------------------------------------------- /basic_loop.lua: -------------------------------------------------------------------------------- 1 | -- Basic loop 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | width, height = 1280, 720 9 | window = hg.RenderInit('Harfang - Basic Loop', width, height, hg.RF_VSync) 10 | 11 | while not hg.ReadKeyboard():Key(hg.K_Escape) and hg.IsWindowOpen(window) do 12 | hg.SetViewClear(0, hg.CF_Color | hg.CF_Depth, hg.Color.Green, 1, 0) 13 | hg.SetViewRect(0, 0, 0, width, height) 14 | 15 | hg.Touch(0) -- force the view to be processed as it would be ignored since nothing is drawn to it (a clear does not count) 16 | 17 | hg.Frame() 18 | hg.UpdateWindow(window) 19 | end 20 | 21 | hg.RenderShutdown() 22 | hg.DestroyWindow(window) 23 | -------------------------------------------------------------------------------- /basic_loop.py: -------------------------------------------------------------------------------- 1 | # Basic loop 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | width, height = 1280, 720 9 | window = hg.RenderInit('Harfang - Basic Loop', width, height, hg.RF_VSync) 10 | 11 | while not hg.ReadKeyboard().Key(hg.K_Escape) and hg.IsWindowOpen(window): 12 | hg.SetViewClear(0, hg.CF_Color | hg.CF_Depth, hg.Color.Green, 1, 0) 13 | hg.SetViewRect(0, 0, 0, width, height) 14 | 15 | hg.Touch(0) # force the view to be processed as it would be ignored since nothing is drawn to it (a clear does not count) 16 | 17 | hg.Frame() 18 | hg.UpdateWindow(window) 19 | 20 | hg.RenderShutdown() 21 | hg.DestroyWindow(window) 22 | -------------------------------------------------------------------------------- /draw_lines.lua: -------------------------------------------------------------------------------- 1 | -- Draw Lines 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 1280, 720 9 | win = hg.RenderInit('Harfang - Draw Lines', res_x, res_y, hg.RF_VSync | hg.RF_MSAA4X) 10 | 11 | line_count = 1000 12 | 13 | shader = hg.LoadProgramFromFile('resources_compiled/shaders/white') 14 | 15 | -- vertices 16 | vtx_layout = hg.VertexLayout() 17 | vtx_layout:Begin() 18 | vtx_layout:Add(hg.A_Position, 3, hg.AT_Float) 19 | vtx_layout:End() 20 | 21 | vtx = hg.Vertices(vtx_layout, line_count * 2) 22 | 23 | -- main loop 24 | angle = 0 25 | 26 | while not hg.ReadKeyboard():Key(hg.K_Escape) and hg.IsWindowOpen(win) do 27 | hg.SetViewClear(0, hg.CF_Color | hg.CF_Depth, hg.ColorI(64, 64, 64), 1, 0) 28 | hg.SetViewRect(0, 0, 0, res_x, res_y) 29 | 30 | vtx:Clear() 31 | for i = 0, line_count-1 do 32 | vtx:Begin(2 * i):SetPos(hg.Vec3(math.sin(angle + i * 0.005), math.cos(angle + i * 0.01), 0)):End() 33 | vtx:Begin(2 * i + 1):SetPos(hg.Vec3(math.sin(angle + i * -0.005), math.cos(angle + i * 0.005), 0)):End() 34 | end 35 | 36 | hg.DrawLines(0, vtx, shader) -- submit all lines in a single call 37 | 38 | angle = angle + hg.time_to_sec_f(hg.TickClock()) 39 | 40 | hg.Frame() 41 | hg.UpdateWindow(win) 42 | end 43 | 44 | hg.RenderShutdown() 45 | hg.DestroyWindow(win) 46 | -------------------------------------------------------------------------------- /draw_lines.py: -------------------------------------------------------------------------------- 1 | # Draw Lines 2 | 3 | import harfang as hg 4 | from math import sin, cos 5 | 6 | hg.InputInit() 7 | hg.WindowSystemInit() 8 | 9 | res_x, res_y = 1280, 720 10 | win = hg.RenderInit('Harfang - Draw Lines', res_x, res_y, hg.RF_VSync | hg.RF_MSAA4X) 11 | 12 | line_count = 1000 13 | 14 | shader = hg.LoadProgramFromFile('resources_compiled/shaders/white') 15 | 16 | # vertices 17 | vtx_layout = hg.VertexLayout() 18 | vtx_layout.Begin() 19 | vtx_layout.Add(hg.A_Position, 3, hg.AT_Float) 20 | vtx_layout.End() 21 | 22 | vtx = hg.Vertices(vtx_layout, line_count * 2) 23 | 24 | # main loop 25 | angle = 0 26 | 27 | while not hg.ReadKeyboard().Key(hg.K_Escape) and hg.IsWindowOpen(win): 28 | hg.SetViewClear(0, hg.CF_Color | hg.CF_Depth, hg.ColorI(64, 64, 64), 1, 0) 29 | hg.SetViewRect(0, 0, 0, res_x, res_y) 30 | 31 | vtx.Clear() 32 | for i in range(0, line_count): 33 | vtx.Begin(2 * i).SetPos(hg.Vec3(sin(angle + i * 0.005), cos(angle + i * 0.01), 0)).End() 34 | vtx.Begin(2 * i + 1).SetPos(hg.Vec3(sin(angle + i * -0.005), cos(angle + i * 0.005), 0)).End() 35 | 36 | hg.DrawLines(0, vtx, shader) # submit all lines in a single call 37 | 38 | angle = angle + hg.time_to_sec_f(hg.TickClock()) 39 | 40 | hg.Frame() 41 | hg.UpdateWindow(win) 42 | 43 | hg.RenderShutdown() 44 | hg.DestroyWindow(win) 45 | -------------------------------------------------------------------------------- /draw_model_no_pipeline.lua: -------------------------------------------------------------------------------- 1 | -- Draw models without a pipeline 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 1280, 720 9 | win = hg.RenderInit('Harfang - Draw Models no Pipeline', res_x, res_y, hg.RF_VSync | hg.RF_MSAA4X) 10 | 11 | -- vertex layout and models 12 | vtx_layout = hg.VertexLayoutPosFloatNormUInt8() 13 | 14 | cube_mdl = hg.CreateCubeModel(vtx_layout, 1, 1, 1) 15 | ground_mdl = hg.CreatePlaneModel(vtx_layout, 5, 5, 1, 1) 16 | 17 | shader = hg.LoadProgramFromFile('resources_compiled/shaders/mdl') 18 | 19 | -- main loop 20 | angle = 0 21 | 22 | while not hg.ReadKeyboard():Key(hg.K_Escape) and hg.IsWindowOpen(win) do 23 | dt = hg.TickClock() 24 | angle = angle + hg.time_to_sec_f(dt) 25 | 26 | viewpoint = hg.TranslationMat4(hg.Vec3(0, 1, -3)) 27 | hg.SetViewPerspective(0, 0, 0, res_x, res_y, viewpoint) 28 | 29 | hg.DrawModel(0, cube_mdl, shader, {}, {}, hg.TransformationMat4(hg.Vec3(0, 1, 0), hg.Vec3(angle, angle, angle))) 30 | hg.DrawModel(0, ground_mdl, shader, {}, {}, hg.TranslationMat4(hg.Vec3(0, 0, 0))) 31 | 32 | hg.Frame() 33 | hg.UpdateWindow(win) 34 | 35 | -- prevent GC bottleneck 36 | collectgarbage() 37 | end 38 | 39 | hg.RenderShutdown() 40 | -------------------------------------------------------------------------------- /draw_model_no_pipeline.py: -------------------------------------------------------------------------------- 1 | # Draw models without a pipeline 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 1280, 720 9 | win = hg.RenderInit('Harfang - Draw Models no Pipeline', res_x, res_y, hg.RF_VSync | hg.RF_MSAA4X) 10 | 11 | # vertex layout and models 12 | vtx_layout = hg.VertexLayoutPosFloatNormUInt8() 13 | 14 | cube_mdl = hg.CreateCubeModel(vtx_layout, 1, 1, 1) 15 | ground_mdl = hg.CreatePlaneModel(vtx_layout, 5, 5, 1, 1) 16 | 17 | shader = hg.LoadProgramFromFile('resources_compiled/shaders/mdl') 18 | 19 | # main loop 20 | angle = 0 21 | 22 | while not hg.ReadKeyboard().Key(hg.K_Escape) and hg.IsWindowOpen(win): 23 | dt = hg.TickClock() 24 | angle = angle + hg.time_to_sec_f(dt) 25 | 26 | viewpoint = hg.TranslationMat4(hg.Vec3(0, 1, -3)) 27 | hg.SetViewPerspective(0, 0, 0, res_x, res_y, viewpoint) 28 | 29 | hg.DrawModel(0, cube_mdl, shader, [], [], hg.TransformationMat4(hg.Vec3(0, 1, 0), hg.Vec3(angle, angle, angle))) 30 | hg.DrawModel(0, ground_mdl, shader, [], [], hg.TranslationMat4(hg.Vec3(0, 0, 0))) 31 | 32 | hg.Frame() 33 | hg.UpdateWindow(win) 34 | 35 | hg.RenderShutdown() 36 | -------------------------------------------------------------------------------- /draw_text.lua: -------------------------------------------------------------------------------- 1 | -- Draw text 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 1280, 720 9 | win = hg.RenderInit('Harfang - Draw Text', res_x, res_y, hg.RF_VSync) 10 | 11 | -- load font and shader program 12 | font = hg.LoadFontFromFile('resources_compiled/font/default.ttf', 96) 13 | font_prg = hg.LoadProgramFromFile('resources_compiled/core/shader/font') 14 | 15 | -- text uniforms and render state 16 | text_uniform_values = {hg.MakeUniformSetValue('u_color', hg.Vec4(1, 1, 0))} 17 | text_render_state = hg.ComputeRenderState(hg.BM_Alpha, hg.DT_Always, hg.FC_Disabled) 18 | 19 | -- main loop 20 | while not hg.ReadKeyboard():Key(hg.K_Escape) and hg.IsWindowOpen(win) do 21 | hg.SetView2D(0, 0, 0, res_x, res_y, -1, 1, hg.CF_Color | hg.CF_Depth, hg.ColorI(32, 32, 32), 0, 1) 22 | 23 | hg.DrawText(0, font, 'Hello world!', font_prg, 'u_tex', 0, hg.Mat4.Identity, hg.Vec3(res_x / 2, res_y / 2, 0), hg.DTHA_Center, hg.DTVA_Center, text_uniform_values, {}, text_render_state) 24 | 25 | hg.Frame() 26 | hg.UpdateWindow(win) 27 | end 28 | 29 | hg.RenderShutdown() 30 | hg.DestroyWindow(win) 31 | -------------------------------------------------------------------------------- /draw_text.py: -------------------------------------------------------------------------------- 1 | # Draw text 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 1280, 720 9 | win = hg.RenderInit('Harfang - Draw Text', res_x, res_y, hg.RF_VSync) 10 | 11 | # load font and shader program 12 | font = hg.LoadFontFromFile('resources_compiled/font/default.ttf', 96) 13 | font_prg = hg.LoadProgramFromFile('resources_compiled/core/shader/font') 14 | 15 | # text uniforms and render state 16 | text_uniform_values = [hg.MakeUniformSetValue('u_color', hg.Vec4(1, 1, 0))] 17 | text_render_state = hg.ComputeRenderState(hg.BM_Alpha, hg.DT_Always, hg.FC_Disabled) 18 | 19 | # main loop 20 | while not hg.ReadKeyboard().Key(hg.K_Escape) and hg.IsWindowOpen(win): 21 | hg.SetView2D(0, 0, 0, res_x, res_y, -1, 1, hg.CF_Color | hg.CF_Depth, hg.ColorI(32, 32, 32), 0, 1) 22 | 23 | hg.DrawText(0, font, 'Hello world!', font_prg, 'u_tex', 0, hg.Mat4.Identity, hg.Vec3(res_x / 2, res_y / 2, 0), hg.DTHA_Center, hg.DTVA_Center, text_uniform_values, [], text_render_state) 24 | 25 | hg.Frame() 26 | hg.UpdateWindow(win) 27 | 28 | hg.RenderShutdown() 29 | hg.DestroyWindow(win) 30 | -------------------------------------------------------------------------------- /filesystem_assets.lua: -------------------------------------------------------------------------------- 1 | -- Access to a file by mounting a folder as an assets source 2 | 3 | hg = require("harfang") 4 | 5 | hg.WindowSystemInit() 6 | 7 | res_x, res_y = 256, 256 8 | win = hg.RenderInit('Harfang - Load from Assets', res_x, res_y, hg.RF_VSync) 9 | 10 | -- mount folder as an assets source and load texture from the assets system 11 | hg.AddAssetsFolder('resources_compiled') 12 | 13 | tex, tex_info = hg.LoadTextureFromAssets('pictures/owl.jpg', 0) 14 | 15 | if hg.IsValid(tex) then 16 | print(string.format('Texture dimensions: %dx%d',tex_info.width, tex_info.height)) 17 | else 18 | print('Failed to load texture') 19 | end 20 | 21 | hg.RenderShutdown() 22 | -------------------------------------------------------------------------------- /filesystem_assets.py: -------------------------------------------------------------------------------- 1 | # Access to a file by mounting a folder as an assets source 2 | 3 | import harfang as hg 4 | 5 | hg.WindowSystemInit() 6 | 7 | res_x, res_y = 256, 256 8 | win = hg.RenderInit('Harfang - Load from Assets', res_x, res_y, hg.RF_VSync) 9 | 10 | # mount folder as an assets source and load texture from the assets system 11 | hg.AddAssetsFolder('resources_compiled') 12 | 13 | tex, tex_info = hg.LoadTextureFromAssets('pictures/owl.jpg', 0) 14 | 15 | if hg.IsValid(tex): 16 | print('Texture dimensions: %dx%d' % (tex_info.width, tex_info.height)) 17 | else: 18 | print('Failed to load texture') 19 | 20 | hg.RenderShutdown() 21 | -------------------------------------------------------------------------------- /filesystem_local.lua: -------------------------------------------------------------------------------- 1 | hg = require("harfang") 2 | 3 | file = hg.Open('resources/pictures/owl.jpg') 4 | 5 | if hg.IsValid(file) then 6 | print(string.format('File is %d bytes long',hg.GetSize(file))) 7 | else 8 | print('Failed to open file') 9 | end 10 | 11 | hg.Close(file) 12 | -------------------------------------------------------------------------------- /filesystem_local.py: -------------------------------------------------------------------------------- 1 | import harfang as hg 2 | 3 | file = hg.Open('resources/pictures/owl.jpg') 4 | 5 | if hg.IsValid(file): 6 | print('File is %d bytes long' % hg.GetSize(file)) 7 | else: 8 | print('Failed to open file') 9 | 10 | hg.Close(file) 11 | -------------------------------------------------------------------------------- /filesystem_recursive_directory_listing.lua: -------------------------------------------------------------------------------- 1 | -- Recursive directory listing 2 | 3 | hg = require("harfang") 4 | 5 | function entry_type_to_string(type) 6 | tp={} 7 | tp[hg.DE_File], tp[hg.DE_Dir], tp[hg.DE_Link] = 'file', 'directory', 'link' 8 | return tp[type] 9 | end 10 | 11 | entries = hg.ListDirRecursive('resources', hg.DE_All) 12 | 13 | for i=0, entries:size()-1 do 14 | entry = entries:at(i) 15 | print(string.format('- %s is a %s', entry.name, entry_type_to_string(entry.type))) 16 | end -------------------------------------------------------------------------------- /filesystem_recursive_directory_listing.py: -------------------------------------------------------------------------------- 1 | # Recursive directory listing 2 | 3 | import harfang as hg 4 | 5 | def entry_type_to_string(type): 6 | return {hg.DE_File: 'file', hg.DE_Dir: 'directory', hg.DE_Link: 'link'}[type] 7 | 8 | entries = hg.ListDirRecursive('resources', hg.DE_All) 9 | 10 | for entry in entries: 11 | print('- %s is a %s' % (entry.name, entry_type_to_string(entry.type))) 12 | -------------------------------------------------------------------------------- /imgui_basic.lua: -------------------------------------------------------------------------------- 1 | -- ImGui basics 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 1280, 720 9 | win = hg.RenderInit('Harfang - ImGui Basics', res_x, res_y, hg.RF_VSync) 10 | 11 | -- initialize ImGui 12 | hg.AddAssetsFolder('resources_compiled') 13 | 14 | imgui_prg = hg.LoadProgramFromAssets('core/shader/imgui') 15 | imgui_img_prg = hg.LoadProgramFromAssets('core/shader/imgui_image') 16 | 17 | hg.ImGuiInit(10, imgui_prg, imgui_img_prg) 18 | 19 | -- main loop 20 | while not hg.ReadKeyboard():Key(hg.K_Escape) and hg.IsWindowOpen(win) do 21 | render_was_reset, res_x, res_y = hg.RenderResetToWindow(win, res_x, res_y, hg.RF_VSync) 22 | hg.ImGuiBeginFrame(res_x, res_y, hg.TickClock(), hg.ReadMouse(), hg.ReadKeyboard()) 23 | 24 | if hg.ImGuiBegin('Window') then 25 | hg.ImGuiText('Hello World!') 26 | end 27 | hg.ImGuiEnd() 28 | 29 | hg.SetView2D(0, 0, 0, res_x, res_y, -1, 1, hg.CF_Color | hg.CF_Depth, hg.Color.Black, 1, 0) 30 | hg.ImGuiEndFrame(0) 31 | 32 | hg.Frame() 33 | hg.UpdateWindow(win) 34 | end 35 | 36 | hg.RenderShutdown() 37 | hg.DestroyWindow(win) 38 | -------------------------------------------------------------------------------- /imgui_basic.py: -------------------------------------------------------------------------------- 1 | # ImGui basics 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 1280, 720 9 | win = hg.RenderInit('Harfang - ImGui Basics', res_x, res_y, hg.RF_VSync) 10 | 11 | # initialize ImGui 12 | hg.AddAssetsFolder('resources_compiled') 13 | 14 | imgui_prg = hg.LoadProgramFromAssets('core/shader/imgui') 15 | imgui_img_prg = hg.LoadProgramFromAssets('core/shader/imgui_image') 16 | 17 | hg.ImGuiInit(10, imgui_prg, imgui_img_prg) 18 | 19 | # main loop 20 | while not hg.ReadKeyboard().Key(hg.K_Escape) and hg.IsWindowOpen(win): 21 | render_was_reset, res_x, res_y = hg.RenderResetToWindow(win, res_x, res_y, hg.RF_VSync) 22 | hg.ImGuiBeginFrame(res_x, res_y, hg.TickClock(), hg.ReadMouse(), hg.ReadKeyboard()) 23 | 24 | if hg.ImGuiBegin('Window'): 25 | hg.ImGuiText('Hello World!') 26 | hg.ImGuiEnd() 27 | 28 | hg.SetView2D(0, 0, 0, res_x, res_y, -1, 1, hg.CF_Color | hg.CF_Depth, hg.Color.Black, 1, 0) 29 | hg.ImGuiEndFrame(0) 30 | 31 | hg.Frame() 32 | hg.UpdateWindow(win) 33 | 34 | hg.RenderShutdown() 35 | hg.DestroyWindow(win) 36 | -------------------------------------------------------------------------------- /input_list_devices.lua: -------------------------------------------------------------------------------- 1 | -- List input devices 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | 7 | names = hg.GetMouseNames() 8 | print('Mouse device names: ' .. table.concat(names, ',')) 9 | 10 | names = hg.GetKeyboardNames() 11 | print('Keyboard device names: ' .. table.concat(names, ',')) 12 | 13 | names = hg.GetGamepadNames() 14 | print('Gamepad device names: ' .. table.concat(names, ',')) 15 | -------------------------------------------------------------------------------- /input_list_devices.py: -------------------------------------------------------------------------------- 1 | # List input devices 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | 7 | names = hg.GetMouseNames() 8 | print('Mouse device names: ' + ','.join(names)) 9 | 10 | names = hg.GetKeyboardNames() 11 | print('Keyboard device names: ' + ','.join(names)) 12 | 13 | names = hg.GetGamepadNames() 14 | print('Gamepad device names: ' + ','.join(names)) 15 | -------------------------------------------------------------------------------- /input_read_gamepad.lua: -------------------------------------------------------------------------------- 1 | -- Reading advanced gamepad state 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | 7 | hg.WindowSystemInit() 8 | win = hg.NewWindow('Harfang - Read Gamepad', 320, 200) 9 | 10 | gamepad = hg.Gamepad() 11 | 12 | while not hg.ReadKeyboard():Key(hg.K_Escape) do 13 | gamepad:Update() 14 | 15 | if gamepad:Connected() then 16 | print('Gamepad slot 0 was just connected') 17 | end 18 | if gamepad:Disconnected() then 19 | print('Gamepad slot 0 was just disconnected') 20 | end 21 | if gamepad:Pressed(hg.GB_ButtonA) then 22 | print('Gamepad button A pressed') 23 | end 24 | if gamepad:Pressed(hg.GB_ButtonB) then 25 | print('Gamepad button B pressed') 26 | end 27 | if gamepad:Pressed(hg.GB_ButtonX) then 28 | print('Gamepad button X pressed') 29 | end 30 | if gamepad:Pressed(hg.GB_ButtonY) then 31 | print('Gamepad button Y pressed') 32 | end 33 | 34 | axis_left_x = gamepad:Axes(hg.GA_LeftX) 35 | if math.abs(axis_left_x) > 0.1 then 36 | print(string.format('Gamepad axis left X: %f' , axis_left_x)) 37 | end 38 | axis_left_y = gamepad:Axes(hg.GA_LeftY) 39 | if math.abs(axis_left_y) > 0.1 then 40 | print(string.format('Gamepad axis left Y: %f' , axis_left_y)) 41 | end 42 | 43 | hg.UpdateWindow(win) 44 | end 45 | hg.DestroyWindow(win) 46 | -------------------------------------------------------------------------------- /input_read_gamepad.py: -------------------------------------------------------------------------------- 1 | # Reading advanced gamepad state 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | 7 | hg.WindowSystemInit() 8 | win = hg.NewWindow('Harfang - Read Gamepad', 320, 200) 9 | 10 | gamepad = hg.Gamepad() 11 | 12 | while not hg.ReadKeyboard().Key(hg.K_Escape) and hg.IsWindowOpen(win): 13 | gamepad.Update() 14 | 15 | if gamepad.Connected(): 16 | print('Gamepad slot 0 was just connected') 17 | if gamepad.Disconnected(): 18 | print('Gamepad slot 0 was just disconnected') 19 | 20 | if gamepad.Pressed(hg.GB_ButtonA): 21 | print('Gamepad button A pressed') 22 | if gamepad.Pressed(hg.GB_ButtonB): 23 | print('Gamepad button B pressed') 24 | if gamepad.Pressed(hg.GB_ButtonX): 25 | print('Gamepad button X pressed') 26 | if gamepad.Pressed(hg.GB_ButtonY): 27 | print('Gamepad button Y pressed') 28 | 29 | axis_left_x = gamepad.Axes(hg.GA_LeftX) 30 | if abs(axis_left_x) > 0.1: 31 | print('Gamepad axis left X: %r' % axis_left_x) 32 | 33 | axis_left_y = gamepad.Axes(hg.GA_LeftY) 34 | if abs(axis_left_y) > 0.1: 35 | print('Gamepad axis left Y: %r' % axis_left_y) 36 | 37 | hg.UpdateWindow(win) 38 | 39 | hg.DestroyWindow(win) 40 | -------------------------------------------------------------------------------- /input_read_keyboard_advanced.lua: -------------------------------------------------------------------------------- 1 | -- Reading advanced keyboard state 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | 7 | keyboard = hg.Keyboard('raw') -- note: the 'raw' device can be queried without an open window, use 'default' otherwise 8 | 9 | while not keyboard:Pressed(hg.K_Escape) do 10 | keyboard:Update() 11 | 12 | for key=0, hg.K_Last-1 do 13 | if keyboard:Released(key) then -- will react on key release using the current and previous keyboard state 14 | print(string.format('Key released: %d' , key)) 15 | end 16 | end 17 | end -------------------------------------------------------------------------------- /input_read_keyboard_advanced.py: -------------------------------------------------------------------------------- 1 | # Reading advanced keyboard state 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | 7 | keyboard = hg.Keyboard('raw') # note: the 'raw' device can be queried without an open window, use 'default' otherwise 8 | 9 | while not keyboard.Pressed(hg.K_Escape): 10 | keyboard.Update() 11 | 12 | for key in range(hg.K_Last): 13 | if keyboard.Released(key): # will react on key release using the current and previous keyboard state 14 | print('Key released: %d' % key) -------------------------------------------------------------------------------- /input_read_keyboard_basic.lua: -------------------------------------------------------------------------------- 1 | -- Reading basic keyboard state 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | 7 | while true do 8 | state = hg.ReadKeyboard('raw') -- note: the 'raw' device can be queried without an open window, use 'default' otherwise 9 | 10 | for key=0, hg.K_Last-1 do 11 | if state:Key(key) then 12 | print(string.format('Key down: %d' , key)) 13 | end 14 | end 15 | if state:Key(hg.K_Escape) then 16 | break 17 | end 18 | end -------------------------------------------------------------------------------- /input_read_keyboard_basic.py: -------------------------------------------------------------------------------- 1 | # Reading basic keyboard state 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | 7 | while True: 8 | state = hg.ReadKeyboard('raw') # note: the 'raw' device can be queried without an open window, use 'default' otherwise 9 | 10 | for key in range(hg.K_Last): 11 | if state.Key(key): 12 | print('Key down: %d' % key) 13 | 14 | if state.Key(hg.K_Escape): 15 | break 16 | -------------------------------------------------------------------------------- /input_read_mouse_advanced.lua: -------------------------------------------------------------------------------- 1 | -- Reading advanced mouse state 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | 7 | mouse = hg.Mouse('raw') 8 | 9 | while not hg.ReadKeyboard('raw'):Key(hg.K_Escape) do -- note: the 'raw' device can be queried without an open window, use 'default' otherwise 10 | mouse:Update() 11 | 12 | dt_x = mouse:DtX() 13 | dt_y = mouse:DtY() 14 | 15 | if dt_x ~= 0 or dt_y ~= 0 then 16 | print(string.format('Mouse delta X=%d delta Y=%d', dt_x, dt_y)) 17 | end 18 | 19 | for i=0, 2 do 20 | if mouse:Pressed(hg.MB_0 + i) then 21 | print(string.format('Mouse button %d pressed' , i)) 22 | end 23 | if mouse:Released(hg.MB_0 + i) then 24 | print(string.format('Mouse button %d released' , i)) 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /input_read_mouse_advanced.py: -------------------------------------------------------------------------------- 1 | # Reading advanced mouse state 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | 7 | mouse = hg.Mouse('raw') 8 | 9 | while not hg.ReadKeyboard('raw').Key(hg.K_Escape): # note: the 'raw' device can be queried without an open window, use 'default' otherwise 10 | mouse.Update() 11 | 12 | dt_x = mouse.DtX() 13 | dt_y = mouse.DtY() 14 | 15 | if dt_x != 0 or dt_y != 0: 16 | print('Mouse delta X=%r delta Y=%r' % (dt_x, dt_y)) 17 | 18 | for i in range(3): 19 | if mouse.Pressed(hg.MB_0 + i): 20 | print('Mouse button %r pressed' % i) 21 | if mouse.Released(hg.MB_0 + i): 22 | print('Mouse button %r released' % i) 23 | -------------------------------------------------------------------------------- /input_read_mouse_basic.lua: -------------------------------------------------------------------------------- 1 | -- Reading basic mouse state 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | 7 | while not hg.ReadKeyboard('raw'):Key(hg.K_Escape) do -- note: the 'raw' device can be queried without an open window, use 'default' otherwise 8 | state = hg.ReadMouse('raw') 9 | 10 | x = state:X() 11 | y = state:Y() 12 | 13 | button_0 = state:Button(hg.MB_0) 14 | button_1 = state:Button(hg.MB_1) 15 | button_2 = state:Button(hg.MB_2) 16 | 17 | wheel = state:Wheel() 18 | 19 | print(string.format('Mouse state: X=%d Y=%d B0=%s B1=%s B2=%s Wheel=%d', x, y, tostring(button_0), tostring(button_1), tostring(button_2), wheel)) 20 | end 21 | -------------------------------------------------------------------------------- /input_read_mouse_basic.py: -------------------------------------------------------------------------------- 1 | # Reading basic mouse state 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | 7 | while not hg.ReadKeyboard('raw').Key(hg.K_Escape): # note: the 'raw' device can be queried without an open window, use 'default' otherwise 8 | state = hg.ReadMouse('raw') 9 | 10 | x = state.X() 11 | y = state.Y() 12 | 13 | button_0 = state.Button(hg.MB_0) 14 | button_1 = state.Button(hg.MB_1) 15 | button_2 = state.Button(hg.MB_2) 16 | 17 | wheel = state.Wheel() 18 | 19 | print('Mouse state: X=%r Y=%r B0=%r B1=%r B2=%r Wheel=%r' % (x, y, button_0, button_1, button_2, wheel)) 20 | -------------------------------------------------------------------------------- /picture_load.lua: -------------------------------------------------------------------------------- 1 | -- Load a picture from a file. 2 | 3 | hg = require("harfang") 4 | 5 | pic = hg.Picture() 6 | 7 | if hg.LoadPicture(pic, "resources/pictures/owl.jpg") then 8 | print(string.format("Picture dimensions: %dx%d" , pic:GetWidth(), pic:GetHeight())) 9 | else 10 | print("Failed to load picture!") 11 | end 12 | -------------------------------------------------------------------------------- /picture_load.py: -------------------------------------------------------------------------------- 1 | # Load a picture from a file. 2 | 3 | import harfang as hg 4 | 5 | pic = hg.Picture() 6 | 7 | if hg.LoadPicture(pic, "resources/pictures/owl.jpg"): 8 | print("Picture dimensions: %rx%r" % (pic.GetWidth(), pic.GetHeight())) 9 | else: 10 | print("Failed to load picture!") 11 | -------------------------------------------------------------------------------- /picture_save.lua: -------------------------------------------------------------------------------- 1 | -- Load a JPG picture and save it as PNG. 2 | 3 | hg = require("harfang") 4 | 5 | pic = hg.Picture() 6 | 7 | ok = hg.LoadJPG(pic, 'resources/pictures/owl.jpg') 8 | if not ok then 9 | os.exit('Failed to load picture!') 10 | end 11 | 12 | ok = hg.SavePNG(pic, 'owl.png') 13 | if not ok then 14 | os.exit('Failed to save picture!') 15 | end 16 | 17 | print('Conversion complete') 18 | -------------------------------------------------------------------------------- /picture_save.py: -------------------------------------------------------------------------------- 1 | # Load a JPG picture and save it as PNG. 2 | 3 | import harfang as hg 4 | import sys 5 | 6 | pic = hg.Picture() 7 | 8 | ok = hg.LoadJPG(pic, 'resources/pictures/owl.jpg') 9 | if not ok: 10 | sys.exit('Failed to load picture!') 11 | 12 | ok = hg.SavePNG(pic, 'owl.png') 13 | if not ok: 14 | sys.exit('Failed to save picture!') 15 | 16 | print('Conversion complete') 17 | -------------------------------------------------------------------------------- /render_resize_to_window.lua: -------------------------------------------------------------------------------- 1 | -- How to resize the render window. 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 512, 512 9 | win = hg.RenderInit('Harfang - Render Resize to Window', res_x, res_y, hg.RF_VSync | hg.RF_MSAA4X) 10 | 11 | -- create model 12 | vtx_layout = hg.VertexLayoutPosFloatNormUInt8() 13 | 14 | cube_mdl = hg.CreateCubeModel(vtx_layout, 1, 1, 1) 15 | cube_prg = hg.LoadProgramFromFile('resources_compiled/shaders/mdl') 16 | 17 | -- main loop 18 | while not hg.ReadKeyboard():Key(hg.K_Escape) and hg.IsWindowOpen(win) do 19 | render_was_reset, res_x, res_y = hg.RenderResetToWindow(win, res_x, res_y, hg.RF_VSync | hg.RF_MSAA4X | hg.RF_MaxAnisotropy) 20 | if render_was_reset then 21 | print(string.format('Render reset to %dx%d', res_x, res_y)) 22 | end 23 | 24 | viewpoint = hg.TransformationMat4(hg.Vec3(1, 1, -2), hg.Deg3(24, -27, 0)) 25 | hg.SetViewPerspective(0, 0, 0, res_x, res_y, viewpoint, 0.01, 100, 1.8, hg.CF_Color | hg.CF_Depth, hg.ColorI(64, 64, 64), 1, 0) 26 | 27 | hg.DrawModel(0, cube_mdl, cube_prg, {}, {}, hg.TranslationMat4(hg.Vec3(0, 0, 0))) 28 | 29 | hg.Frame() 30 | hg.UpdateWindow(win) 31 | end 32 | 33 | hg.RenderShutdown() 34 | -------------------------------------------------------------------------------- /render_resize_to_window.py: -------------------------------------------------------------------------------- 1 | # How to resize the render window. 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 512, 512 9 | win = hg.RenderInit('Harfang - Render Resize to Window', res_x, res_y, hg.RF_VSync | hg.RF_MSAA4X) 10 | 11 | # create model 12 | vtx_layout = hg.VertexLayoutPosFloatNormUInt8() 13 | 14 | cube_mdl = hg.CreateCubeModel(vtx_layout, 1, 1, 1) 15 | cube_prg = hg.LoadProgramFromFile('resources_compiled/shaders/mdl') 16 | 17 | # main loop 18 | while not hg.ReadKeyboard().Key(hg.K_Escape) and hg.IsWindowOpen(win): 19 | render_was_reset, res_x, res_y = hg.RenderResetToWindow(win, res_x, res_y, hg.RF_VSync | hg.RF_MSAA4X | hg.RF_MaxAnisotropy) 20 | if render_was_reset: 21 | print('Render reset to %dx%d' % (res_x, res_y)) 22 | 23 | viewpoint = hg.TransformationMat4(hg.Vec3(1, 1, -2), hg.Deg3(24, -27, 0)) 24 | hg.SetViewPerspective(0, 0, 0, res_x, res_y, viewpoint, 0.01, 100, 1.8, hg.CF_Color | hg.CF_Depth, hg.ColorI(64, 64, 64), 1, 0) 25 | 26 | hg.DrawModel(0, cube_mdl, cube_prg, [], [], hg.TranslationMat4(hg.Vec3(0, 0, 0))) 27 | 28 | hg.Frame() 29 | hg.UpdateWindow(win) 30 | 31 | hg.RenderShutdown() 32 | -------------------------------------------------------------------------------- /resources/biped/Bip001 Head_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 Head_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Calf_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Calf_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Clavicle_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Clavicle_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger01_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger01_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger02_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger02_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger0_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger0_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger11_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger11_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger12_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger12_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger1_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger1_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger21_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger21_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger22_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger22_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger2_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger2_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger31_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger31_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger32_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger32_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger3_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger3_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger41_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger41_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger42_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger42_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Finger4_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Finger4_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Foot_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Foot_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Forearm_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Forearm_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Hand_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Hand_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Thigh_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Thigh_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe01_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe01_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe02_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe02_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe0_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe0_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe11_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe11_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe12_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe12_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe1_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe1_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe21_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe21_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe22_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe22_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe2_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe2_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe31_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe31_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe32_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe32_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe3_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe3_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe41_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe41_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe42_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe42_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L Toe4_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L Toe4_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 L UpperArm_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 L UpperArm_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 Neck_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 Neck_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 Pelvis_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 Pelvis_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Calf_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Calf_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Clavicle_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Clavicle_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger01_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger01_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger02_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger02_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger0_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger0_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger11_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger11_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger12_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger12_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger1_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger1_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger21_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger21_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger22_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger22_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger2_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger2_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger31_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger31_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger32_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger32_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger3_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger3_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger41_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger41_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger42_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger42_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Finger4_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Finger4_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Foot_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Foot_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Forearm_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Forearm_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Hand_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Hand_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Thigh_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Thigh_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe01_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe01_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe02_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe02_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe0_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe0_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe11_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe11_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe12_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe12_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe1_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe1_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe21_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe21_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe22_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe22_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe2_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe2_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe31_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe31_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe32_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe32_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe3_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe3_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe41_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe41_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe42_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe42_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R Toe4_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R Toe4_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 R UpperArm_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 R UpperArm_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 Spine1_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 Spine1_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 Spine2_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 Spine2_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 Spine3_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 Spine3_box.geo -------------------------------------------------------------------------------- /resources/biped/Bip001 Spine_box.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/biped/Bip001 Spine_box.geo -------------------------------------------------------------------------------- /resources/biped/fbx_importer_cfg.txt: -------------------------------------------------------------------------------- 1 | "anim_policy":"1" 2 | "anim_simplify_color_tolerance":"0.001000" 3 | "anim_simplify_rotation_tolerance":"0.050000" 4 | "anim_simplify_scale_tolerance":"0.001000" 5 | "anim_simplify_translation_tolerance":"0.001000" 6 | "detect_geometry_instances":"1" 7 | "fbx_file_path":"c:/Users/Emmanuel Julien/Downloads/assets-pipeline-bulletproofing-master/assets-pipeline-bulletproofing-master/autodesk_3dsmax/biped_animations/biped_animations_multitake.fbx" 8 | "finalizer_script":"" 9 | "fix_geometry_orientation":"0" 10 | "frames_per_second":"24" 11 | "geometry_policy":"1" 12 | "geometry_scale":"1.000000" 13 | "import_animations":"1" 14 | "material_policy":"1" 15 | "max_smoothing_angle":"70.000000" 16 | "output_folder":"biped" 17 | "profile":"2" 18 | "recalculate_normals":"1" 19 | "recalculate_tangents":"0" 20 | "scale":"1.000000" 21 | "scene_policy":"1" 22 | "texture_policy":"1" 23 | "use_finalizer_script":"0" 24 | -------------------------------------------------------------------------------- /resources/car_engine/1001_01.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1001_01.geo -------------------------------------------------------------------------------- /resources/car_engine/1001_02.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1001_02.geo -------------------------------------------------------------------------------- /resources/car_engine/1001_03.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1001_03.geo -------------------------------------------------------------------------------- /resources/car_engine/1001_04.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1001_04.geo -------------------------------------------------------------------------------- /resources/car_engine/1001_05.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1001_05.geo -------------------------------------------------------------------------------- /resources/car_engine/1001_06.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1001_06.geo -------------------------------------------------------------------------------- /resources/car_engine/1001_07.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1001_07.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_01.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_01.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_02.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_02.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_03.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_03.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_04.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_04.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_05.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_05.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_06.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_06.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_07.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_07.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_08.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_08.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_09.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_09.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_10.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_10.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_11.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_11.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_12.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_12.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_13.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_13.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_14.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_14.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_15.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_15.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_16.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_16.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_17.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_17.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_18.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_18.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_19.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_19.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_20.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_20.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_21.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_21.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_22.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_22.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_23.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_23.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_24.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_24.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_25.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_25.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_26.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_26.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_27.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_27.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_28.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_28.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_29.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_29.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_30.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_30.geo -------------------------------------------------------------------------------- /resources/car_engine/1002_31.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1002_31.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_04.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_04.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_05.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_05.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_06.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_06.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_07.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_07.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_08.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_08.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_09.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_09.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_10.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_10.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_11.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_11.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_12.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_12.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_13.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_13.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_14.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_14.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_15.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_15.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_16.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_16.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_17.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_17.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_18.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_18.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_19.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_19.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_20.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_20.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_21.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_21.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_22.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_22.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_23.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_23.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_24.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_24.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_25.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_25.geo -------------------------------------------------------------------------------- /resources/car_engine/1011_26.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1011_26.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_07.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_07.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_08.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_08.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_09.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_09.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_10.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_10.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_11.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_11.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_12.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_12.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_13.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_13.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_14.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_14.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_15.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_15.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_16.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_16.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_17.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_17.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_18.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_18.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_19.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_19.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_20.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_20.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_21.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_21.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_22.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_22.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_23.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_23.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_24.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_24.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_25.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_25.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_26.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_26.geo -------------------------------------------------------------------------------- /resources/car_engine/1012_27.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/1012_27.geo -------------------------------------------------------------------------------- /resources/car_engine/ORM_1001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/ORM_1001.png -------------------------------------------------------------------------------- /resources/car_engine/ORM_1001.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/car_engine/ORM_1002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/ORM_1002.png -------------------------------------------------------------------------------- /resources/car_engine/ORM_1002.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/car_engine/ORM_1011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/ORM_1011.png -------------------------------------------------------------------------------- /resources/car_engine/ORM_1011.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/car_engine/ORM_1012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/ORM_1012.png -------------------------------------------------------------------------------- /resources/car_engine/ORM_1012.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/car_engine/brand_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/brand_logo.png -------------------------------------------------------------------------------- /resources/car_engine/brand_logo.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/car_engine/brand_logo_plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/brand_logo_plain.png -------------------------------------------------------------------------------- /resources/car_engine/car_engine_1001_BaseColor.1001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/car_engine_1001_BaseColor.1001.png -------------------------------------------------------------------------------- /resources/car_engine/car_engine_1001_BaseColor.1001.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/car_engine/car_engine_1002_BaseColor.1002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/car_engine_1002_BaseColor.1002.png -------------------------------------------------------------------------------- /resources/car_engine/car_engine_1002_BaseColor.1002.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/car_engine/car_engine_1011_BaseColor.1011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/car_engine_1011_BaseColor.1011.png -------------------------------------------------------------------------------- /resources/car_engine/car_engine_1011_BaseColor.1011.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/car_engine/car_engine_1012_BaseColor.1012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/car_engine_1012_BaseColor.1012.png -------------------------------------------------------------------------------- /resources/car_engine/car_engine_1012_BaseColor.1012.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/car_engine/engine.scn.aaa: -------------------------------------------------------------------------------- 1 | { 2 | "bloom_bias": 0.5, 3 | "bloom_intensity": 0.10000000149011612, 4 | "bloom_threshold": 5.0, 5 | "exposure": 1.0, 6 | "gamma": 2.200000047683716, 7 | "max_distance": 100.0, 8 | "motion_blur": 1.0, 9 | "sample_count": 2, 10 | "taa_weight": 0.10000000149011612, 11 | "z_thickness": 0.10000000149011612 12 | } -------------------------------------------------------------------------------- /resources/car_engine/fbx_importer_cfg.txt: -------------------------------------------------------------------------------- 1 | "anim_policy":"1" 2 | "anim_simplify_color_tolerance":"0.001000" 3 | "anim_simplify_rotation_tolerance":"0.100000" 4 | "anim_simplify_scale_tolerance":"0.001000" 5 | "anim_simplify_translation_tolerance":"0.001000" 6 | "detect_geometry_instances":"1" 7 | "fbx_file_path":"\\server/Ressources/3D/bank_3d_pbr/cae_engine/car_engine.FBX" 8 | "finalizer_script":"" 9 | "fix_geometry_orientation":"0" 10 | "frames_per_second":"24" 11 | "geometry_policy":"1" 12 | "geometry_scale":"1.000000" 13 | "import_animations":"1" 14 | "material_policy":"1" 15 | "max_smoothing_angle":"70.000000" 16 | "output_folder":"car_engine" 17 | "profile":"2" 18 | "recalculate_normals":"0" 19 | "recalculate_tangents":"0" 20 | "scale":"1.000000" 21 | "scene_policy":"1" 22 | "texture_policy":"1" 23 | "use_finalizer_script":"0" 24 | -------------------------------------------------------------------------------- /resources/car_engine/forsubstance_low_1001_Normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/forsubstance_low_1001_Normal.png -------------------------------------------------------------------------------- /resources/car_engine/forsubstance_low_1002_Normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/forsubstance_low_1002_Normal.png -------------------------------------------------------------------------------- /resources/car_engine/forsubstance_low_1011_Normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/forsubstance_low_1011_Normal.png -------------------------------------------------------------------------------- /resources/car_engine/forsubstance_low_1012_Normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/car_engine/forsubstance_low_1012_Normal.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_0.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_1.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_10.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_11.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_12.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_13.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_14.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_15.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_16.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_17.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_18.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_19.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_2.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_20.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_21.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_22.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_23.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_24.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_25.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_26.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_27.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_28.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_29.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_3.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_30.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_31.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_32.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_33.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_34.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_35.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_36.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_37.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_38.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_39.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_4.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_40.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_41.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_42.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_43.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_44.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_45.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_46.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_47.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_48.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_49.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_5.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_50.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_51.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_52.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_53.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_54.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_55.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_56.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_57.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_58.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_59.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_6.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_60.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_61.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_62.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_63.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_7.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_8.png -------------------------------------------------------------------------------- /resources/core/noise/64/HDR_L_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/64/HDR_L_9.png -------------------------------------------------------------------------------- /resources/core/noise/HDR_L_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/HDR_L_0.png -------------------------------------------------------------------------------- /resources/core/noise/HDR_L_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/HDR_L_1.png -------------------------------------------------------------------------------- /resources/core/noise/HDR_L_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/HDR_L_2.png -------------------------------------------------------------------------------- /resources/core/noise/HDR_L_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/HDR_L_3.png -------------------------------------------------------------------------------- /resources/core/noise/HDR_L_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/HDR_L_4.png -------------------------------------------------------------------------------- /resources/core/noise/HDR_L_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/HDR_L_5.png -------------------------------------------------------------------------------- /resources/core/noise/HDR_L_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/HDR_L_6.png -------------------------------------------------------------------------------- /resources/core/noise/HDR_L_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/HDR_L_7.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_0.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_1.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_10.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_11.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_12.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_13.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_14.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_15.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_16.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_17.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_18.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_19.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_2.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_20.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_21.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_22.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_23.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_24.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_25.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_26.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_27.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_28.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_29.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_3.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_30.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_31.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_32.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_33.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_34.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_35.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_36.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_37.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_38.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_39.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_4.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_40.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_41.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_42.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_43.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_44.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_45.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_46.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_47.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_48.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_49.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_5.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_50.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_51.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_52.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_53.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_54.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_55.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_56.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_57.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_58.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_59.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_6.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_60.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_61.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_62.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_63.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_7.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_8.png -------------------------------------------------------------------------------- /resources/core/noise/LDR_RGBA_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/noise/LDR_RGBA_9.png -------------------------------------------------------------------------------- /resources/core/pbr/blue_sky.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/pbr/blue_sky.hdr -------------------------------------------------------------------------------- /resources/core/pbr/blue_sky.hdr.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "generate-probe": true, 5 | "max-probe-size": 128, 6 | "radiance-edge-fixup": true 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/core/pbr/brdf.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/pbr/brdf.dds -------------------------------------------------------------------------------- /resources/core/pbr/probe.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/core/pbr/probe.hdr -------------------------------------------------------------------------------- /resources/core/pbr/probe.hdr.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "generate-probe": true, 5 | "max-probe-size": 256, 6 | "radiance-edge-fixup": true 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/core/shader/a_trous_varying.def: -------------------------------------------------------------------------------- 1 | vec3 a_position : POSITION; 2 | -------------------------------------------------------------------------------- /resources/core/shader/a_trous_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 8 | } 9 | -------------------------------------------------------------------------------- /resources/core/shader/aaa_downsample_varying.def: -------------------------------------------------------------------------------- 1 | vec3 a_position : POSITION; 2 | -------------------------------------------------------------------------------- /resources/core/shader/aaa_downsample_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 8 | } 9 | -------------------------------------------------------------------------------- /resources/core/shader/aaa_upsample_varying.def: -------------------------------------------------------------------------------- 1 | vec3 a_position : POSITION; -------------------------------------------------------------------------------- /resources/core/shader/aaa_upsample_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 8 | } 9 | -------------------------------------------------------------------------------- /resources/core/shader/aaa_utils.sh: -------------------------------------------------------------------------------- 1 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 2 | #ifndef AAA_UTILS_SH_HEADER_GUARD 3 | #define AAA_UTILS_SH_HEADER_GUARD 4 | 5 | # if !defined(uv_ratio) 6 | # define uv_ratio vec2_splat(uAAAParams[0].x) 7 | # endif 8 | 9 | vec2 NDCToViewRect(vec2 xy) { return ((xy * 0.5 + 0.5) * u_viewRect.zw + u_viewRect.xy); } 10 | 11 | vec2 GetVelocityVector(in vec2 uv) { 12 | #if BGFX_SHADER_LANGUAGE_GLSL 13 | const vec2 offset = vec2(0.5, 0.5); 14 | #else 15 | const vec2 offset = vec2(0.5,-0.5); 16 | #endif 17 | return texture2D(u_attr1, uv).xy * offset / (uResolution.xy / u_viewRect.zw); 18 | } 19 | 20 | vec2 GetAttributeTexCoord(vec2 coord, vec2 size) { 21 | #if BGFX_SHADER_LANGUAGE_GLSL 22 | vec2 uv = vec2(coord.x, 1.0 - coord.y) * u_viewRect.zw / size; 23 | uv.y = 1.0 - uv.y; 24 | return uv; 25 | #else 26 | return coord * u_viewRect.zw / size; 27 | #endif 28 | } 29 | 30 | vec3 GetRayOrigin(mat4 projection, vec3 viewRay, float depth) { 31 | #if BGFX_SHADER_LANGUAGE_GLSL 32 | float z = (depth - projection[3].z) / projection[2].z; 33 | #else 34 | float z = (depth - projection[2].w) / projection[2].z; 35 | #endif 36 | return viewRay * z; 37 | } 38 | 39 | #endif // AAA_UTILS_SH_HEADER_GUARD 40 | -------------------------------------------------------------------------------- /resources/core/shader/bloom_combine_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | SAMPLER2D(u_source, 0); 7 | SAMPLER2D(u_input, 1); 8 | 9 | void main() { 10 | vec2 uv = gl_FragCoord.xy / uResolution.xy; 11 | 12 | vec3 color = texture2D(u_source, uv).rgb; 13 | color += texture2D(u_input, uv).rgb; 14 | 15 | gl_FragColor = vec4(color, 1.); 16 | } 17 | -------------------------------------------------------------------------------- /resources/core/shader/bloom_combine_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/bloom_combine_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0., 1.)); 9 | v_texcoord0 = a_texcoord0; 10 | } 11 | -------------------------------------------------------------------------------- /resources/core/shader/bloom_downsample_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/bloom_downsample_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | uniform vec4 u_source_rect; 8 | 9 | void main() { 10 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 11 | #if BGFX_SHADER_LANGUAGE_GLSL 12 | v_texcoord0 = mix(vec2(u_source_rect.x, uResolution.y - u_source_rect.w), vec2(u_source_rect.z, uResolution.y - u_source_rect.y), a_texcoord0) / uResolution.xy; 13 | #else 14 | v_texcoord0 = mix(u_source_rect.xy, u_source_rect.zw, a_texcoord0.xy) / uResolution.xy; // interpolate source rect as UV over primitive 15 | #endif 16 | } 17 | -------------------------------------------------------------------------------- /resources/core/shader/bloom_threshold_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | uniform vec4 u_params; 7 | SAMPLER2D(u_source, 0); 8 | 9 | void main() { 10 | float threshold = u_params.x; 11 | float knee = u_params.y; 12 | 13 | vec4 color = texture2D(u_source, gl_FragCoord.xy / uResolution.xy); 14 | float lum = dot(color.rgb, vec3(0.2126, 0.7152, 0.0722)); 15 | float r = clamp(lum - threshold + knee, 0, 2. * knee); 16 | r = (r * r) / (4. * knee); 17 | 18 | gl_FragColor = color * max(r , lum - threshold) / max(lum, 0.00001); 19 | } 20 | -------------------------------------------------------------------------------- /resources/core/shader/bloom_threshold_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/bloom_threshold_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); 9 | v_texcoord0 = a_texcoord0; 10 | } 11 | -------------------------------------------------------------------------------- /resources/core/shader/bloom_upsample_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/bloom_upsample_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | uniform vec4 u_source_rect; 8 | 9 | void main() { 10 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0., 1.)); 11 | #if BGFX_SHADER_LANGUAGE_GLSL 12 | v_texcoord0 = mix(vec2(u_source_rect.x, uResolution.y - u_source_rect.w), vec2(u_source_rect.z, uResolution.y - u_source_rect.y), a_texcoord0) / uResolution.xy; 13 | #else 14 | v_texcoord0 = mix(u_source_rect.xy, u_source_rect.zw, a_texcoord0.xy) / uResolution.xy; // interpolate source rect as UV over primitive 15 | #endif 16 | } 17 | -------------------------------------------------------------------------------- /resources/core/shader/checkerboard_downsample_varying.def: -------------------------------------------------------------------------------- 1 | vec3 a_position : POSITION; 2 | -------------------------------------------------------------------------------- /resources/core/shader/checkerboard_downsample_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position 2 | 3 | #include 4 | 5 | void main() { 6 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 7 | } 8 | -------------------------------------------------------------------------------- /resources/core/shader/compositing_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0; 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/compositing_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 9 | v_texcoord0 = a_texcoord0; 10 | } 11 | -------------------------------------------------------------------------------- /resources/core/shader/copy_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | SAMPLER2D(u_copyColor, 0); 7 | SAMPLER2D(u_copyDepth, 1); 8 | 9 | void main() { 10 | gl_FragColor = texture2D(u_copyColor, v_texcoord0); 11 | gl_FragDepth = texture2D(u_copyDepth, v_texcoord0).r; 12 | } 13 | -------------------------------------------------------------------------------- /resources/core/shader/copy_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0; 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/copy_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 9 | v_texcoord0 = a_texcoord0; 10 | } 11 | -------------------------------------------------------------------------------- /resources/core/shader/default.hps: -------------------------------------------------------------------------------- 1 | { 2 | "features": ["OptionalDiffuseMap", "OptionalSkinning"] 3 | } 4 | -------------------------------------------------------------------------------- /resources/core/shader/default_varying.def: -------------------------------------------------------------------------------- 1 | vec3 vWorldPos : POSITIONT; 2 | vec3 vNormal : NORMAL; 3 | vec3 vTangent : TANGENT0; 4 | vec3 vBinormal : BINORMAL0; 5 | vec2 vTexCoord0 : TEXCOORD0; 6 | vec2 vTexCoord1 : TEXCOORD1; 7 | vec4 vSpotShadowCoord : TEXCOORD2; 8 | vec4 vLinearShadowCoord0 : TEXCOORD3; 9 | vec4 vLinearShadowCoord1 : TEXCOORD4; 10 | vec4 vLinearShadowCoord2 : TEXCOORD5; 11 | vec4 vLinearShadowCoord3 : TEXCOORD6; 12 | vec4 vProjPos : TEXCOORD7; 13 | vec4 vPrevProjPos : TEXCOORD8; 14 | 15 | vec3 a_position : POSITION; 16 | vec3 a_normal : NORMAL; 17 | vec2 a_texcoord0 : TEXCOORD0; 18 | vec2 a_texcoord1 : TEXCOORD1; 19 | vec3 a_tangent : TANGENT0; 20 | vec3 a_bitangent : BITANGENT0; 21 | vec4 a_indices : BLENDINDICES; 22 | vec4 a_weight : BLENDWEIGHT; 23 | -------------------------------------------------------------------------------- /resources/core/shader/denoise_varying.def: -------------------------------------------------------------------------------- 1 | vec3 a_position : POSITION; 2 | -------------------------------------------------------------------------------- /resources/core/shader/denoise_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0., 1.)); 8 | } 9 | -------------------------------------------------------------------------------- /resources/core/shader/dof_coc_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0; 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/dof_coc_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 8 | } 9 | -------------------------------------------------------------------------------- /resources/core/shader/font_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | uniform vec4 u_color; 7 | SAMPLER2D(u_tex, 0); 8 | 9 | void main() { 10 | float opacity = texture2D(u_tex, v_texcoord0).w * u_color.w; 11 | gl_FragColor = vec4(u_color.xyz, opacity); 12 | } 13 | -------------------------------------------------------------------------------- /resources/core/shader/font_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0; 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/font_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 9 | v_texcoord0 = a_texcoord0; 10 | } 11 | -------------------------------------------------------------------------------- /resources/core/shader/hiz_copy_cs.sc: -------------------------------------------------------------------------------- 1 | #include "bgfx_compute.sh" 2 | 3 | // Initializes the level 0 of the minimum depth pyramid. 4 | 5 | SAMPLER2D(u_depth, 0); 6 | IMAGE2D_WR(u_depthTexOut, rg32f, 1); // output: level 0 of the min/max depth pyramid 7 | 8 | uniform mat4 u_projection; 9 | uniform vec4 u_zThickness; 10 | 11 | NUM_THREADS(16, 16, 1) 12 | void main() { 13 | ivec4 viewport = ivec4(u_viewRect); 14 | ivec2 coord = ivec2(gl_GlobalInvocationID.xy) + ivec2(u_viewRect.xy); 15 | 16 | #if BGFX_SHADER_LANGUAGE_GLSL 17 | ivec2 tex_coord = ivec2(coord.x, textureSize(u_depth, 0).y - 1 - coord.y); 18 | #else 19 | ivec2 tex_coord = coord; 20 | #endif 21 | 22 | vec2 z; 23 | if (all(bvec4(greaterThanEqual(coord, viewport.xy), lessThan(coord, viewport.xy + viewport.zw)))) { 24 | z = texelFetch(u_depth, tex_coord, 0).ww; 25 | 26 | #if BGFX_SHADER_LANGUAGE_GLSL 27 | vec2 q = vec2(u_projection[2].z, u_projection[3].z); 28 | #else 29 | vec2 q = u_projection[2].zw; 30 | #endif 31 | z.y += u_zThickness.x * q.x; 32 | 33 | // Store logarithmic depth 34 | z.xy = q.x * z.xy / (z.xy - q.yy); 35 | } else { 36 | // Set pixels outside the viewport to the far clipping distance. 37 | z = vec2(1.0, 0.0); 38 | } 39 | 40 | imageStore(u_depthTexOut, coord, vec4(z.x, z.y, 0, 1)); 41 | } 42 | -------------------------------------------------------------------------------- /resources/core/shader/imgui_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_color0, v_texcoord0 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | SAMPLER2D(s_tex, 0); 7 | 8 | void main() 9 | { 10 | vec4 texel = texture2D(s_tex, v_texcoord0); 11 | gl_FragColor = texel * v_color0; 12 | } 13 | -------------------------------------------------------------------------------- /resources/core/shader/imgui_image_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | /* 4 | * Copyright 2014 Dario Manesku. All rights reserved. 5 | * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause 6 | */ 7 | 8 | #include 9 | 10 | uniform vec4 u_imageLodEnabled; 11 | SAMPLER2D(s_texColor, 0); 12 | 13 | #define u_imageLod u_imageLodEnabled.x 14 | #define u_imageEnabled u_imageLodEnabled.y 15 | 16 | void main() 17 | { 18 | vec3 color = texture2DLod(s_texColor, v_texcoord0, u_imageLod).xyz; 19 | float alpha = 0.2 + 0.8*u_imageEnabled; 20 | gl_FragColor = vec4(color, alpha); 21 | } 22 | -------------------------------------------------------------------------------- /resources/core/shader/imgui_image_varying.def: -------------------------------------------------------------------------------- 1 | vec4 v_color0 : COLOR0 = vec4(1.0, 0.0, 0.0, 1.0); 2 | vec3 v_normal : NORMAL = vec3(0.0, 0.0, 1.0); 3 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 4 | 5 | vec3 a_position : POSITION; 6 | vec4 a_normal : NORMAL; 7 | vec4 a_color0 : COLOR0; 8 | vec2 a_texcoord0 : TEXCOORD0; 9 | -------------------------------------------------------------------------------- /resources/core/shader/imgui_image_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | /* 5 | * Copyright 2014 Dario Manesku. All rights reserved. 6 | * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause 7 | */ 8 | 9 | #include 10 | 11 | void main() 12 | { 13 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); 14 | v_texcoord0 = a_texcoord0; 15 | } 16 | -------------------------------------------------------------------------------- /resources/core/shader/imgui_varying.def: -------------------------------------------------------------------------------- 1 | vec4 v_color0 : COLOR0 = vec4(1.0, 0.0, 0.0, 1.0); 2 | vec3 v_normal : NORMAL = vec3(0.0, 0.0, 1.0); 3 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 4 | 5 | vec3 a_position : POSITION; 6 | vec4 a_normal : NORMAL; 7 | vec4 a_color0 : COLOR0; 8 | vec2 a_texcoord0 : TEXCOORD0; 9 | -------------------------------------------------------------------------------- /resources/core/shader/imgui_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0, a_color0 2 | $output v_color0, v_texcoord0 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() 8 | { 9 | vec2 pos = 2.0*a_position.xy*u_viewTexel.xy; 10 | gl_Position = vec4(pos.x - 1.0, 1.0 - pos.y, 0.0, 1.0); 11 | v_texcoord0 = a_texcoord0; 12 | v_color0 = a_color0; 13 | } 14 | -------------------------------------------------------------------------------- /resources/core/shader/joint_bilateral_upsample_varying.def: -------------------------------------------------------------------------------- 1 | vec3 a_position : POSITION; -------------------------------------------------------------------------------- /resources/core/shader/joint_bilateral_upsample_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position 2 | 3 | #include 4 | 5 | void main() { 6 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 7 | } 8 | -------------------------------------------------------------------------------- /resources/core/shader/missing_fs.sc: -------------------------------------------------------------------------------- 1 | $input vWorldPos 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | void main() { 7 | gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0); 8 | } 9 | -------------------------------------------------------------------------------- /resources/core/shader/missing_varying.def: -------------------------------------------------------------------------------- 1 | vec3 vWorldPos : TEXCOORD1; 2 | 3 | vec3 a_position : POSITION; 4 | -------------------------------------------------------------------------------- /resources/core/shader/missing_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position 2 | $output vWorldPos 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | vWorldPos = mul(u_model[0], vec4(a_position, 1.0)).xyz; 9 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 10 | } 11 | -------------------------------------------------------------------------------- /resources/core/shader/motion_blur_fs.sc: -------------------------------------------------------------------------------- 1 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 2 | #include 3 | 4 | SAMPLER2D(u_color, 0); 5 | SAMPLER2D(u_attr0, 1); 6 | SAMPLER2D(u_attr1, 2); 7 | SAMPLER2D(u_noise, 3); 8 | 9 | #include 10 | 11 | void main() { 12 | vec4 jitter = texture2D(u_noise, mod(gl_FragCoord.xy, vec2(64, 64)) / vec2(64, 64)); 13 | 14 | float strength = uAAAParams[0].w; 15 | 16 | vec2 uv = gl_FragCoord.xy / uResolution.xy; 17 | vec2 dt = GetVelocityVector(uv); 18 | 19 | vec4 blur_out = vec4(0., 0., 0., 0.); 20 | for (int i = 0; i < 8; ++i) { 21 | float k = (((float(i) + jitter.x) / 8.) - 0.5) * strength; 22 | blur_out += texture2D(u_color, uv + dt * k); 23 | } 24 | 25 | gl_FragColor = blur_out / 8.; 26 | } 27 | -------------------------------------------------------------------------------- /resources/core/shader/motion_blur_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/motion_blur_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 8 | } 9 | -------------------------------------------------------------------------------- /resources/core/shader/pbr.hps: -------------------------------------------------------------------------------- 1 | { 2 | "features": ["OptionalBaseColorOpacityMap", "OptionalOcclusionRoughnessMetalnessMap", "OptionalNormalMap", "OptionalSelfMap", "OptionalSkinning"] 3 | } 4 | -------------------------------------------------------------------------------- /resources/core/shader/pbr_varying.def: -------------------------------------------------------------------------------- 1 | vec3 vWorldPos : POSITIONT; 2 | vec3 vNormal : NORMAL; 3 | vec3 vTangent : TANGENT0; 4 | vec3 vBinormal : BINORMAL0; 5 | vec2 vTexCoord0 : TEXCOORD0; 6 | vec2 vTexCoord1 : TEXCOORD1; 7 | vec4 vSpotShadowCoord : TEXCOORD2; 8 | vec4 vLinearShadowCoord0 : TEXCOORD3; 9 | vec4 vLinearShadowCoord1 : TEXCOORD4; 10 | vec4 vLinearShadowCoord2 : TEXCOORD5; 11 | vec4 vLinearShadowCoord3 : TEXCOORD6; 12 | vec4 vProjPos : TEXCOORD7; 13 | vec4 vPrevProjPos : TEXCOORD8; 14 | 15 | vec3 a_position : POSITION; 16 | vec3 a_normal : NORMAL; 17 | vec2 a_texcoord0 : TEXCOORD0; 18 | vec2 a_texcoord1 : TEXCOORD1; 19 | vec3 a_tangent : TANGENT0; 20 | vec3 a_bitangent : BITANGENT0; 21 | vec4 a_indices : BLENDINDICES; 22 | vec4 a_weight : BLENDWEIGHT; 23 | -------------------------------------------------------------------------------- /resources/core/shader/sao_blur_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/sao_blur_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); 9 | v_texcoord0 = a_texcoord0; 10 | } 11 | -------------------------------------------------------------------------------- /resources/core/shader/sao_compute_varying.def: -------------------------------------------------------------------------------- 1 | vec3 v_viewRay : TEXCOORD0 = vec3(0.0, 0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/sao_compute_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_viewRay 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); 9 | 10 | vec2 sp = a_position.xy * 2. - 1.; 11 | sp.y *= -1.; 12 | 13 | vec4 ndc = mul(uMainInvProjection, vec4(sp, 1., 1.)); // far ndc frustum plane 14 | ndc /= ndc.w; 15 | ndc /= ndc.z; 16 | 17 | v_viewRay = ndc.xyz; 18 | } 19 | -------------------------------------------------------------------------------- /resources/core/shader/sao_upsample_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/sao_upsample_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); 9 | v_texcoord0 = a_texcoord0; 10 | } 11 | -------------------------------------------------------------------------------- /resources/core/shader/ssgi_varying.def: -------------------------------------------------------------------------------- 1 | vec2 vTexCoord0 : TEXCOORD0; 2 | vec3 v_viewRay : TEXCOORD1 = vec3(0.0, 0.0, 0.0); 3 | 4 | vec3 a_position : POSITION; 5 | vec2 a_texcoord0 : TEXCOORD0; 6 | -------------------------------------------------------------------------------- /resources/core/shader/ssgi_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output vTexCoord0, v_viewRay 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | #define uv_ratio vec2_splat(uAAAParams[0].x) 8 | 9 | void main() { 10 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 11 | 12 | vec2 sp = a_position.xy * 2. - 1.; 13 | sp.y *= -1.; 14 | 15 | vec4 ndc = mul(uMainInvProjection, vec4(sp, 1., 1.)); // far ndc frustum plane 16 | ndc /= ndc.w; 17 | ndc /= ndc.z; 18 | 19 | v_viewRay = ndc.xyz; 20 | 21 | vTexCoord0 = a_texcoord0; 22 | } 23 | -------------------------------------------------------------------------------- /resources/core/shader/ssr_varying.def: -------------------------------------------------------------------------------- 1 | vec2 vTexCoord0 : TEXCOORD0; 2 | vec3 v_viewRay : TEXCOORD1 = vec3(0.0, 0.0, 0.0); 3 | 4 | vec3 a_position : POSITION; 5 | vec2 a_texcoord0 : TEXCOORD0; 6 | -------------------------------------------------------------------------------- /resources/core/shader/ssr_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output vTexCoord0, v_viewRay 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 9 | 10 | vec2 sp = a_position.xy * 2. - 1.; 11 | sp.y *= -1.; 12 | 13 | vec4 ndc = mul(uMainInvProjection, vec4(sp, 1., 1.)); // far ndc frustum plane 14 | ndc /= ndc.w; 15 | ndc /= ndc.z; 16 | 17 | v_viewRay = ndc.xyz; 18 | 19 | vTexCoord0 = a_texcoord0; 20 | } 21 | -------------------------------------------------------------------------------- /resources/core/shader/taa_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/taa_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | 3 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 8 | } 9 | -------------------------------------------------------------------------------- /resources/core/shader/temporal_accumulation_varying.def: -------------------------------------------------------------------------------- 1 | vec2 vTexCoord0 : TEXCOORD0; 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/core/shader/temporal_accumulation_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output vTexCoord0, 3 | 4 | // HARFANG(R) Copyright (C) 2022 Emmanuel Julien, NWNC HARFANG. Released under GPL/LGPL/Commercial Licence, see licence.txt for details. 5 | #include 6 | 7 | void main() { 8 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0)); 9 | vTexCoord0 = a_texcoord0; 10 | } 11 | -------------------------------------------------------------------------------- /resources/cyclo/cyclo.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/cyclo/cyclo.geo -------------------------------------------------------------------------------- /resources/cyclo/fbx_importer_cfg.txt: -------------------------------------------------------------------------------- 1 | "anim_policy":"1" 2 | "anim_simplify_color_tolerance":"0.001000" 3 | "anim_simplify_rotation_tolerance":"0.100000" 4 | "anim_simplify_scale_tolerance":"0.001000" 5 | "anim_simplify_translation_tolerance":"0.001000" 6 | "detect_geometry_instances":"1" 7 | "fbx_file_path":"c:/WORKS/harfang/hg2/assemble-demo-assets-2019/car_engine/fbx/cyclo.fbx" 8 | "finalizer_script":"" 9 | "fix_geometry_orientation":"0" 10 | "frames_per_second":"24" 11 | "geometry_policy":"1" 12 | "geometry_scale":"1.000000" 13 | "import_animations":"1" 14 | "material_policy":"1" 15 | "max_smoothing_angle":"70.000000" 16 | "output_folder":"cyclo" 17 | "profile":"2" 18 | "recalculate_normals":"0" 19 | "recalculate_tangents":"0" 20 | "scale":"1.000000" 21 | "scene_policy":"1" 22 | "texture_policy":"1" 23 | "use_finalizer_script":"0" 24 | -------------------------------------------------------------------------------- /resources/font/default.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/font/default.ttf -------------------------------------------------------------------------------- /resources/materials/Metal24_basecolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/Metal24_basecolor.jpg -------------------------------------------------------------------------------- /resources/materials/Metal24_basecolor.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/Metal24_normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/Metal24_normal.jpg -------------------------------------------------------------------------------- /resources/materials/Metal24_normal.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC5", 5 | "mag-filter": "Anisotropic", 6 | "max-size": 16384, 7 | "min-filter": "Anisotropic", 8 | "type": "NormalMap" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /resources/materials/Metal24_orm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/Metal24_orm.jpg -------------------------------------------------------------------------------- /resources/materials/Metal24_orm.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "max-size": 16384, 7 | "min-filter": "Anisotropic" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /resources/materials/MetalPlates006_basecolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/MetalPlates006_basecolor.jpg -------------------------------------------------------------------------------- /resources/materials/MetalPlates006_basecolor.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/MetalPlates006_normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/MetalPlates006_normal.jpg -------------------------------------------------------------------------------- /resources/materials/MetalPlates006_normal.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC5", 5 | "mag-filter": "Anisotropic", 6 | "max-size": 16384, 7 | "min-filter": "Anisotropic", 8 | "type": "NormalMap" 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /resources/materials/MetalPlates006_orm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/MetalPlates006_orm.jpg -------------------------------------------------------------------------------- /resources/materials/MetalPlates006_orm.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "max-size": 16384, 7 | "min-filter": "Anisotropic" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /resources/materials/PaintedWood01_basecolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/PaintedWood01_basecolor.jpg -------------------------------------------------------------------------------- /resources/materials/PaintedWood01_basecolor.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/PaintedWood01_normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/PaintedWood01_normal.jpg -------------------------------------------------------------------------------- /resources/materials/PaintedWood01_normal.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC5", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic", 7 | "type": "NormalMap" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /resources/materials/PaintedWood01_orm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/PaintedWood01_orm.jpg -------------------------------------------------------------------------------- /resources/materials/PaintedWood01_orm.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/Rocks11_basecolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/Rocks11_basecolor.jpg -------------------------------------------------------------------------------- /resources/materials/Rocks11_basecolor.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/Rocks11_normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/Rocks11_normal.jpg -------------------------------------------------------------------------------- /resources/materials/Rocks11_normal.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC5", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic", 7 | "type": "NormalMap" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /resources/materials/Rocks11_orm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/Rocks11_orm.jpg -------------------------------------------------------------------------------- /resources/materials/Rocks11_orm.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/WoodFloor07_basecolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/WoodFloor07_basecolor.jpg -------------------------------------------------------------------------------- /resources/materials/WoodFloor07_basecolor.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/WoodFloor07_normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/WoodFloor07_normal.jpg -------------------------------------------------------------------------------- /resources/materials/WoodFloor07_normal.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC5", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic", 7 | "type": "NormalMap" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /resources/materials/WoodFloor07_orm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/WoodFloor07_orm.jpg -------------------------------------------------------------------------------- /resources/materials/WoodFloor07_orm.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/brick_old_red_01_basecolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/brick_old_red_01_basecolor.jpg -------------------------------------------------------------------------------- /resources/materials/brick_old_red_01_basecolor.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/brick_old_red_01_normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/brick_old_red_01_normal.jpg -------------------------------------------------------------------------------- /resources/materials/brick_old_red_01_normal.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "ETC1", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic", 7 | "type": "NormalMap" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /resources/materials/brick_old_red_01_orm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/brick_old_red_01_orm.jpg -------------------------------------------------------------------------------- /resources/materials/brick_old_red_01_orm.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/concrete_wall_smooth_02_basecolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/concrete_wall_smooth_02_basecolor.jpg -------------------------------------------------------------------------------- /resources/materials/concrete_wall_smooth_02_basecolor.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/concrete_wall_smooth_02_normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/concrete_wall_smooth_02_normal.jpg -------------------------------------------------------------------------------- /resources/materials/concrete_wall_smooth_02_normal.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC5", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic", 7 | "type": "NormalMap" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /resources/materials/concrete_wall_smooth_02_orm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/concrete_wall_smooth_02_orm.jpg -------------------------------------------------------------------------------- /resources/materials/concrete_wall_smooth_02_orm.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/metal_03_basecolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/metal_03_basecolor.jpg -------------------------------------------------------------------------------- /resources/materials/metal_03_basecolor.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/metal_03_normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/metal_03_normal.jpg -------------------------------------------------------------------------------- /resources/materials/metal_03_normal.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC5", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic", 7 | "type": "NormalMap" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /resources/materials/metal_03_orm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/metal_03_orm.jpg -------------------------------------------------------------------------------- /resources/materials/metal_03_orm.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/plane.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/plane.geo -------------------------------------------------------------------------------- /resources/materials/plastic_grunge_blue_03_basecolor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/plastic_grunge_blue_03_basecolor.jpg -------------------------------------------------------------------------------- /resources/materials/plastic_grunge_blue_03_basecolor.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/plastic_grunge_blue_03_normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/plastic_grunge_blue_03_normal.jpg -------------------------------------------------------------------------------- /resources/materials/plastic_grunge_blue_03_normal.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC5", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic", 7 | "type": "NormalMap" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /resources/materials/plastic_grunge_blue_03_orm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/plastic_grunge_blue_03_orm.jpg -------------------------------------------------------------------------------- /resources/materials/plastic_grunge_blue_03_orm.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC2", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/sphere.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/sphere.geo -------------------------------------------------------------------------------- /resources/materials/texture_05.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/texture_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/texture_05.png -------------------------------------------------------------------------------- /resources/materials/texture_06.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/texture_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/texture_06.png -------------------------------------------------------------------------------- /resources/materials/texture_07.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/texture_08.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC3", 5 | "mag-filter": "Anisotropic", 6 | "min-filter": "Anisotropic" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /resources/materials/texture_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/materials/texture_08.png -------------------------------------------------------------------------------- /resources/paper_plane/Shape.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/paper_plane/Shape.geo -------------------------------------------------------------------------------- /resources/paper_plane/fbx_importer_cfg.txt: -------------------------------------------------------------------------------- 1 | "anim_policy":"1" 2 | "anim_simplify_color_tolerance":"0.001000" 3 | "anim_simplify_rotation_tolerance":"0.100000" 4 | "anim_simplify_scale_tolerance":"0.001000" 5 | "anim_simplify_translation_tolerance":"0.001000" 6 | "detect_geometry_instances":"1" 7 | "fbx_file_path":"d:/Movida/gits/gitlab_harfang3d/tutorials-hg2/work/paper_plane.fbx" 8 | "finalizer_script":"" 9 | "fix_geometry_orientation":"0" 10 | "frames_per_second":"24" 11 | "geometry_policy":"1" 12 | "geometry_scale":"1.000000" 13 | "import_animations":"0" 14 | "material_policy":"1" 15 | "max_smoothing_angle":"70.000000" 16 | "output_folder":"paper_plane" 17 | "profile":"0" 18 | "recalculate_normals":"0" 19 | "recalculate_tangents":"0" 20 | "scale":"1.000000" 21 | "scene_policy":"1" 22 | "texture_policy":"1" 23 | "use_finalizer_script":"0" 24 | -------------------------------------------------------------------------------- /resources/pictures/owl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/pictures/owl.jpg -------------------------------------------------------------------------------- /resources/playground/Cube.001.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/playground/Cube.001.geo -------------------------------------------------------------------------------- /resources/playground/Cube.002.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/playground/Cube.002.geo -------------------------------------------------------------------------------- /resources/playground/Cube.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/playground/Cube.geo -------------------------------------------------------------------------------- /resources/playground/Plane.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/playground/Plane.geo -------------------------------------------------------------------------------- /resources/playground/grid_baseColor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/playground/grid_baseColor.png -------------------------------------------------------------------------------- /resources/playground/grid_baseColor.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "mag-filter": "Anisotropic", 5 | "min-filter": "Anisotropic" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /resources/primitives/cube.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/primitives/cube.geo -------------------------------------------------------------------------------- /resources/primitives/fbx_importer_cfg.txt: -------------------------------------------------------------------------------- 1 | "anim_policy":"1" 2 | "detect_geometry_instances":"1" 3 | "fbx_file_path":"c:/works/ortec/sonovision-poc-work/primitives/primitives.FBX" 4 | "finalizer_script":"" 5 | "fix_geometry_orientation":"1" 6 | "geometry_policy":"1" 7 | "geometry_scale":"1.000000" 8 | "material_policy":"1" 9 | "max_smoothing_angle":"70.000000" 10 | "output_folder":"primitives" 11 | "recalculate_normals":"0" 12 | "recalculate_tangents":"0" 13 | "scale":"1.000000" 14 | "scene_policy":"1" 15 | "texture_policy":"1" 16 | "use_finalizer_script":"0" 17 | -------------------------------------------------------------------------------- /resources/primitives/grid_baseColor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/primitives/grid_baseColor.png -------------------------------------------------------------------------------- /resources/primitives/grid_baseColor.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "default": { 4 | "compression": "BC1", 5 | "sRGB": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /resources/primitives/ground.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/primitives/ground.geo -------------------------------------------------------------------------------- /resources/primitives/ground_orm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/primitives/ground_orm.png -------------------------------------------------------------------------------- /resources/primitives/plane.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/primitives/plane.geo -------------------------------------------------------------------------------- /resources/primitives/sphere.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/primitives/sphere.geo -------------------------------------------------------------------------------- /resources/primitives/wall_orm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/primitives/wall_orm.png -------------------------------------------------------------------------------- /resources/project.prj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/project.prj -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_combine_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | #include 4 | 5 | SAMPLER2D(u_source, 0); 6 | SAMPLER2D(u_input, 1); 7 | 8 | void main() { 9 | vec3 color = texture2D(u_source, v_texcoord0.xy).rgb; 10 | color += texture2D(u_input, v_texcoord0.xy).rgb; 11 | 12 | // [todo] tone mapping ? 13 | // [todo] gamme correction ? 14 | // [todo] color = clamp(color, 0.0, 1.0); 15 | 16 | gl_FragColor = vec4(color, 1.0); 17 | } 18 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_combine_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_combine_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); 8 | v_texcoord0 = a_texcoord0; 9 | } 10 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_downsample_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | #include 4 | 5 | SAMPLER2D(u_source, 0); 6 | uniform vec4 u_params; 7 | 8 | void main() { 9 | vec4 far_offset = vec4(-u_params.x, u_params.x, u_params.y, 0.0); 10 | vec4 offset = 0.5*far_offset; 11 | vec2 uv = v_texcoord0.xy; 12 | 13 | vec4 s0 = texture2D(u_source, uv - far_offset.yz); 14 | vec4 s1 = texture2D(u_source, uv - far_offset.wz); 15 | vec4 s2 = texture2D(u_source, uv - far_offset.xz); 16 | 17 | vec4 s3 = texture2D(u_source, uv + far_offset.xw); 18 | vec4 s4 = texture2D(u_source, uv); 19 | vec4 s5 = texture2D(u_source, uv + far_offset.yw); 20 | 21 | vec4 s6 = texture2D(u_source, uv + far_offset.xz); 22 | vec4 s7 = texture2D(u_source, uv + far_offset.wz); 23 | vec4 s8 = texture2D(u_source, uv + far_offset.yz); 24 | 25 | vec4 t0 = texture2D(u_source, uv - offset.yz); 26 | vec4 t1 = texture2D(u_source, uv - offset.xz); 27 | vec4 t2 = texture2D(u_source, uv + offset.xz); 28 | vec4 t3 = texture2D(u_source, uv + offset.yz); 29 | 30 | 31 | vec4 v0 = s0 + s1 + s3 + s4; 32 | vec4 v1 = s1 + s2 + s4 + s5; 33 | vec4 v2 = s3 + s4 + s6 + s7; 34 | vec4 v3 = s4 + s5 + s7 + s8; 35 | vec4 v4 = t0 + t1 + t2 + t3; 36 | 37 | gl_FragColor = (((v0 + v1 + v2 + v3) / 4.0) + v4) / 8.0; 38 | } 39 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_downsample_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_downsample_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); 8 | v_texcoord0 = a_texcoord0; 9 | } 10 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_threshold_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | #include 4 | 5 | uniform vec4 u_params; 6 | SAMPLER2D(u_source, 0); 7 | 8 | #define u_threshold u_params.x 9 | #define u_knee u_params.y 10 | 11 | void main() { 12 | vec4 color = texture2D(u_source, v_texcoord0); 13 | float lum = dot(color.rgb, vec3(0.2126, 0.7152, 0.0722)); 14 | float r = clamp(lum - u_threshold + u_knee, 0, 2.0 * u_knee); 15 | r = (r * r) / (4.0 * u_knee); 16 | gl_FragColor = color * max(r , lum - u_threshold) / max(lum, 0.00001); 17 | } 18 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_threshold_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_threshold_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); 8 | v_texcoord0 = a_texcoord0; 9 | } 10 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_upsample_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | #include 4 | 5 | SAMPLER2D(u_source, 0); 6 | uniform vec4 u_params; 7 | 8 | void main() { 9 | vec4 offset = vec4(-u_params.x, u_params.x, u_params.y, 0.0); 10 | vec2 uv = v_texcoord0.xy; 11 | 12 | vec4 t0 = texture2D(u_source, uv - offset.yz); 13 | vec4 t1 = texture2D(u_source, uv - offset.wz); 14 | vec4 t2 = texture2D(u_source, uv - offset.xz); 15 | 16 | vec4 t3 = texture2D(u_source, uv + offset.xw); 17 | vec4 t4 = texture2D(u_source, uv); 18 | vec4 t5 = texture2D(u_source, uv + offset.yw); 19 | 20 | vec4 t6 = texture2D(u_source, uv + offset.xz); 21 | vec4 t7 = texture2D(u_source, uv + offset.wz); 22 | vec4 t8 = texture2D(u_source, uv + offset.yz); 23 | 24 | gl_FragColor = u_params.z * (t0 + t2 + t6 + t8 + 2.0 * (t1 + t3 + t5 + t7) + 4.0 * t4) / 16.0; 25 | } 26 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_upsample_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/shaders/bloom/bloom_upsample_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); 8 | v_texcoord0 = a_texcoord0; 9 | } 10 | -------------------------------------------------------------------------------- /resources/shaders/bloom/copy_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | #include 4 | 5 | SAMPLER2D(u_copyColor, 0); 6 | SAMPLER2D(u_copyDepth, 1); 7 | 8 | void main() { 9 | gl_FragColor = texture2D(u_copyColor, v_texcoord0); 10 | gl_FragDepth = texture2D(u_copyDepth, v_texcoord0).r; 11 | } 12 | -------------------------------------------------------------------------------- /resources/shaders/bloom/copy_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0; 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/shaders/bloom/copy_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 8 | v_texcoord0 = a_texcoord0; 9 | } 10 | -------------------------------------------------------------------------------- /resources/shaders/depth_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | #include 4 | 5 | SAMPLER2D(s_tex, 0); 6 | 7 | void main() { 8 | float range_low = 0.998, range_high = 0.9985; 9 | float depth = (texture2D(s_tex, v_texcoord0).r - range_low) / (range_high - range_low); 10 | gl_FragColor = vec4(depth, depth, depth, 1.0); 11 | } 12 | -------------------------------------------------------------------------------- /resources/shaders/depth_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0; 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/shaders/depth_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 8 | v_texcoord0 = a_texcoord0; 9 | } 10 | -------------------------------------------------------------------------------- /resources/shaders/forward_pipeline.sh: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define PI 3.14159265359 4 | 5 | uniform vec4 uClock; // clock 6 | 7 | // Environment 8 | uniform vec4 uFogColor; 9 | uniform vec4 uFogState; // fog_near, 1.0/fog_range 10 | 11 | // Lighting environment 12 | uniform vec4 uAmbientColor; 13 | 14 | uniform vec4 uLightPos[8]; // pos.xyz, 1.0/radius 15 | uniform vec4 uLightDir[8]; // dir.xyz, inner_rim 16 | uniform vec4 uLightDiffuse[8]; // diffuse.xyz, outer_rim 17 | uniform vec4 uLightSpecular[8]; // specular.xyz, pssm_bias 18 | 19 | uniform mat4 uLinearShadowMatrix[4]; // slot 0: linear PSSM shadow matrices 20 | uniform vec4 uLinearShadowSlice; // slot 0: PSSM slice distances linear light 21 | uniform mat4 uSpotShadowMatrix; // slot 1: spot shadow matrix 22 | uniform vec4 uShadowState; // slot 0: inverse resolution, slot1: inverse resolution, slot0: bias, slot1: bias 23 | 24 | SAMPLER2DSHADOW(uLinearShadowMap, 14); 25 | SAMPLER2DSHADOW(uSpotShadowMap, 15); 26 | 27 | // 28 | mat3 MakeMat3(vec3 c0, vec3 c1, vec3 c2) { 29 | return mat3(c0, c1, c2); 30 | } 31 | 32 | vec3 GetT(mat4 m) { 33 | #if BGFX_SHADER_LANGUAGE_GLSL 34 | return vec3(m[3][0], m[3][1], m[3][2]); 35 | #else 36 | return vec3(m[0][3], m[1][3], m[2][3]); 37 | #endif 38 | } 39 | -------------------------------------------------------------------------------- /resources/shaders/mdl_fs.sc: -------------------------------------------------------------------------------- 1 | $input vNormal 2 | 3 | #include 4 | 5 | void main() { 6 | vec3 light = vec3(1,0.8,0.5); 7 | 8 | vec4 color = vec4(1.,1.,1.,1.); 9 | vec4 ambient_color = vec4(0.1,0.1,0.2,1.); 10 | 11 | vec4 backlight_color=vec4(0.75,0.85,1.,1.); 12 | vec4 mainlight_color=vec4(1.,1.,1.,1.); 13 | 14 | float backlight_intensity = 0.5; 15 | light = normalize(light); 16 | vec3 normal = normalize(vNormal); 17 | 18 | float main_lighting = max(0.,-dot(normal,light)); 19 | float back_lighting = max(0.,-dot(normal,-light)) * backlight_intensity; 20 | 21 | 22 | vec4 light_color = min(color*(mainlight_color*main_lighting + backlight_color * back_lighting) + ambient_color, vec4(1.,1.,1.,1.)); 23 | 24 | gl_FragColor = light_color; 25 | } 26 | -------------------------------------------------------------------------------- /resources/shaders/mdl_varying.def: -------------------------------------------------------------------------------- 1 | vec3 vNormal : NORMAL; 2 | 3 | vec3 a_position : POSITION; 4 | vec3 a_normal : NORMAL; 5 | -------------------------------------------------------------------------------- /resources/shaders/mdl_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_normal, a_texcoord0 2 | $output vNormal 3 | 4 | 5 | #include 6 | 7 | void main() { 8 | vNormal = mul(u_model[0], vec4(a_normal * 2.0 - 1.0, 0.0)).xyz; 9 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 10 | } 11 | -------------------------------------------------------------------------------- /resources/shaders/pos_rgb_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_color0 2 | 3 | #include 4 | 5 | void main() { 6 | gl_FragColor = v_color0; 7 | } 8 | -------------------------------------------------------------------------------- /resources/shaders/pos_rgb_varying.def: -------------------------------------------------------------------------------- 1 | vec4 v_color0 : COLOR0; 2 | 3 | vec3 a_position : POSITION; 4 | vec4 a_color0 : COLOR0; 5 | -------------------------------------------------------------------------------- /resources/shaders/pos_rgb_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_color0 2 | $output v_color0 3 | 4 | #include 5 | 6 | void main() { 7 | v_color0 = a_color0; 8 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 9 | } 10 | -------------------------------------------------------------------------------- /resources/shaders/sprite_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | #include 4 | 5 | uniform vec4 color; 6 | 7 | SAMPLER2D(s_tex, 0); 8 | 9 | void main() { 10 | gl_FragColor = texture2D(s_tex, v_texcoord0)*color; 11 | } 12 | -------------------------------------------------------------------------------- /resources/shaders/sprite_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0; 2 | vec3 a_position : POSITION; 3 | 4 | -------------------------------------------------------------------------------- /resources/shaders/sprite_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position 2 | $output v_texcoord0 3 | 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 8 | v_texcoord0 = vec2(a_position.x+0.5,a_position.z+0.5); 9 | } 10 | -------------------------------------------------------------------------------- /resources/shaders/texture_fs.sc: -------------------------------------------------------------------------------- 1 | $input v_texcoord0 2 | 3 | #include 4 | 5 | uniform vec4 color; 6 | SAMPLER2D(s_tex, 0); 7 | 8 | void main() { 9 | gl_FragColor = texture2D(s_tex, v_texcoord0) * color; 10 | } 11 | -------------------------------------------------------------------------------- /resources/shaders/texture_varying.def: -------------------------------------------------------------------------------- 1 | vec2 v_texcoord0 : TEXCOORD0; 2 | 3 | vec3 a_position : POSITION; 4 | vec2 a_texcoord0 : TEXCOORD0; 5 | -------------------------------------------------------------------------------- /resources/shaders/texture_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position, a_texcoord0 2 | $output v_texcoord0 3 | 4 | #include 5 | 6 | void main() { 7 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 8 | v_texcoord0 = a_texcoord0; 9 | } 10 | -------------------------------------------------------------------------------- /resources/shaders/white_fs.sc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void main() { 4 | gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); 5 | } 6 | -------------------------------------------------------------------------------- /resources/shaders/white_varying.def: -------------------------------------------------------------------------------- 1 | vec3 a_position : POSITION; 2 | -------------------------------------------------------------------------------- /resources/shaders/white_vs.sc: -------------------------------------------------------------------------------- 1 | $input a_position 2 | 3 | #include 4 | 5 | void main() { 6 | gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0)); 7 | } 8 | -------------------------------------------------------------------------------- /resources/sounds/metro_announce.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/sounds/metro_announce.ogg -------------------------------------------------------------------------------- /resources/sounds/metro_announce.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/sounds/metro_announce.wav -------------------------------------------------------------------------------- /resources/sounds/metro_announce_license.txt: -------------------------------------------------------------------------------- 1 | Sound effect by Florian Reichelt, licensed under the Creative Commons 0 License. 2 | freesound.org/people/florianreichelt/sounds/440607/ -------------------------------------------------------------------------------- /resources/textures/squares.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/resources/textures/squares.png -------------------------------------------------------------------------------- /scene_lua_script.lua: -------------------------------------------------------------------------------- 1 | -- Creating a Lua script VM for a scene object and communicating with a Script component 2 | 3 | hg = require("harfang") 4 | 5 | scene = hg.Scene() 6 | script = scene:CreateScript('example') 7 | 8 | lua_vm = hg.SceneLuaVM() 9 | lua_vm:CreateScriptFromSource(scene, script, "\ 10 | a = 4\ 11 | \ 12 | function CallToPrintA() print('CallToPrintA: '..a) end\ 13 | function CallToPrintV(v) print('CallToPrint: '..v) end\ 14 | function CallToPrintScriptPath(s) print('CallToPrintScriptPath: '..s:GetPath()) end\ 15 | \ 16 | function CallToReturnValue() return 'String returned from scene VM to host VM' end\ 17 | ") 18 | 19 | a = lua_vm:GetScriptValue(script, 'a') 20 | print('GetScriptValue returned a='..a) 21 | 22 | lua_vm:SetScriptValue(script, 'a', 24) 23 | 24 | a = lua_vm:GetScriptValue(script, 'a') 25 | print('GetScriptValue returned a='..a) 26 | 27 | assert(lua_vm:Call(script, 'CallToPrintA', hg.LuaObjectList()) == true) 28 | assert(lua_vm:Call(script, 'CallToPrintV', {8}) == true) 29 | assert(lua_vm:Call(script, 'CallToPrintScriptPath', {script}) == true) 30 | 31 | assert(lua_vm:Call(script, 'InvalidCall', {}) == false) 32 | 33 | success, rvalues = lua_vm:Call(script, 'CallToReturnValue', {}) 34 | assert(success == true) 35 | 36 | print('CallToReturnValue return value='..rvalues[1]) 37 | -------------------------------------------------------------------------------- /scene_lua_script.py: -------------------------------------------------------------------------------- 1 | # Creating a Lua script VM for a scene object and communicating with a Script component 2 | 3 | import harfang as hg 4 | 5 | scene = hg.Scene() 6 | script = scene.CreateScript('example') 7 | 8 | lua_vm = hg.SceneLuaVM() 9 | lua_vm.CreateScriptFromSource(scene, script, """ 10 | a = 4 11 | 12 | function CallToPrintA() print('CallToPrintA: '..a) end 13 | function CallToPrintV(v) print('CallToPrint: '..v) end 14 | function CallToPrintScriptPath(s) print('CallToPrintScriptPath: '..s:GetPath()) end 15 | 16 | function CallToReturnValue() return 'String returned from scene VM to host VM' end 17 | """) 18 | 19 | a = lua_vm.GetScriptValue(script, 'a') 20 | print('GetScriptValue returned a=' + str(lua_vm.Unpack(a))) 21 | 22 | lua_vm.SetScriptValue(script, 'a', lua_vm.Pack(24)) 23 | 24 | a = lua_vm.GetScriptValue(script, 'a') 25 | print('GetScriptValue returned a=' + str(lua_vm.Unpack(a))) 26 | 27 | assert lua_vm.Call(script, 'CallToPrintA', [])[0] == True 28 | assert lua_vm.Call(script, 'CallToPrintV', [lua_vm.Pack(8)])[0] == True 29 | assert lua_vm.Call(script, 'CallToPrintScriptPath', [lua_vm.Pack(script)])[0] == True 30 | 31 | assert lua_vm.Call(script, 'InvalidCall', [])[0] == False 32 | 33 | success, rvalues = lua_vm.Call(script, 'CallToReturnValue', []) 34 | assert success == True 35 | 36 | print('CallToReturnValue return value=' + str(lua_vm.Unpack(rvalues[0]))) 37 | -------------------------------------------------------------------------------- /scene_pbr.lua: -------------------------------------------------------------------------------- 1 | -- Scene using the PBR shader 2 | 3 | hg = require("harfang") 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 940, 720 9 | win = hg.RenderInit('PBR Scene', res_x, res_y, hg.RF_VSync | hg.RF_MSAA4X) 10 | 11 | -- 12 | pipeline = hg.CreateForwardPipeline() 13 | res = hg.PipelineResources() 14 | 15 | hg.AddAssetsFolder("resources_compiled") 16 | 17 | -- load scene 18 | scene = hg.Scene() 19 | hg.LoadSceneFromAssets("materials/materials.scn", scene, res, hg.GetForwardPipelineInfo()) 20 | 21 | -- main loop 22 | while not hg.ReadKeyboard():Key(hg.K_Escape) and hg.IsWindowOpen(win) do 23 | dt = hg.TickClock() 24 | 25 | scene:Update(dt) 26 | hg.SubmitSceneToPipeline(0, scene, hg.IntRect(0, 0, res_x, res_y), true, pipeline, res) 27 | 28 | hg.Frame() 29 | hg.UpdateWindow(win) 30 | end 31 | hg.RenderShutdown() 32 | hg.DestroyWindow(win) 33 | -------------------------------------------------------------------------------- /scene_pbr.py: -------------------------------------------------------------------------------- 1 | # Scene using the PBR shader 2 | 3 | import harfang as hg 4 | 5 | hg.InputInit() 6 | hg.WindowSystemInit() 7 | 8 | res_x, res_y = 940, 720 9 | win = hg.RenderInit('PBR Scene', res_x, res_y, hg.RF_VSync | hg.RF_MSAA4X) 10 | 11 | # 12 | pipeline = hg.CreateForwardPipeline() 13 | res = hg.PipelineResources() 14 | 15 | hg.AddAssetsFolder("resources_compiled") 16 | 17 | # load scene 18 | scene = hg.Scene() 19 | hg.LoadSceneFromAssets("materials/materials.scn", scene, res, hg.GetForwardPipelineInfo()) 20 | 21 | # main loop 22 | while not hg.ReadKeyboard().Key(hg.K_Escape) and hg.IsWindowOpen(win): 23 | dt = hg.TickClock() 24 | 25 | scene.Update(dt) 26 | hg.SubmitSceneToPipeline(0, scene, hg.IntRect(0, 0, res_x, res_y), True, pipeline, res) 27 | 28 | hg.Frame() 29 | hg.UpdateWindow(win) 30 | 31 | hg.RenderShutdown() 32 | hg.DestroyWindow(win) 33 | -------------------------------------------------------------------------------- /screenshots/aaa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/aaa.png -------------------------------------------------------------------------------- /screenshots/basic_gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/basic_gui.png -------------------------------------------------------------------------------- /screenshots/draw_lines_starfield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/draw_lines_starfield.png -------------------------------------------------------------------------------- /screenshots/game_mouse_flight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/game_mouse_flight.png -------------------------------------------------------------------------------- /screenshots/imgui_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/imgui_edit.png -------------------------------------------------------------------------------- /screenshots/physics_kapla.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/physics_kapla.png -------------------------------------------------------------------------------- /screenshots/physics_pool_of_objects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/physics_pool_of_objects.png -------------------------------------------------------------------------------- /screenshots/scene_draw_to_multiple_viewports.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/scene_draw_to_multiple_viewports.png -------------------------------------------------------------------------------- /screenshots/scene_instances.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/scene_instances.png -------------------------------------------------------------------------------- /screenshots/scene_light_priority.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/scene_light_priority.png -------------------------------------------------------------------------------- /screenshots/scene_many_nodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/scene_many_nodes.png -------------------------------------------------------------------------------- /screenshots/scene_pbr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/harfang3d/tutorials-hg2/5deff4cd5595cdde26d48413adf68424b2065d88/screenshots/scene_pbr.png --------------------------------------------------------------------------------