| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- function main() {
- ///if arm_snapshot
- ///if (is_paint || is_sculpt)
- main_embed(["default_material.arm"]);
- ///end
- ///if is_lab
- main_embed(["placeholder.k"]);
- ///end
- ///if (krom_direct3d12 || krom_vulkan || krom_metal)
- main_embed_raytrace();
- ///if is_paint
- main_embed_raytrace_bake();
- ///end
- ///end
- ///else
- kickstart();
- ///end
- }
- function kickstart() {
- // Used to locate external application data folder
- krom_set_app_name(manifest_title);
- config_load(main_start);
- }
- function main_start() {
- app_on_resize = base_on_resize;
- app_on_w = base_w;
- app_on_h = base_h;
- app_on_x = base_x;
- app_on_y = base_y;
- context_init();
- config_init();
- sys_start(config_get_options());
- if (config_raw.layout == null) {
- base_init_layout();
- }
- krom_set_app_name(manifest_title);
- app_init();
- scene_set_active("Scene");
- uniforms_ext_init();
- render_path_base_init();
- if (context_raw.render_mode == render_mode_t.FORWARD) {
- render_path_deferred_init(); // Allocate gbuffer
- render_path_forward_init();
- render_path_commands = render_path_forward_commands;
- }
- else {
- render_path_deferred_init();
- render_path_commands = render_path_deferred_commands;
- }
- base_init();
- }
- ///if arm_snapshot
- function main_embed(additional: string[]) {
- let global: any = globalThis;
- resource_embed_raw("Scene", "Scene.arm", global["data/Scene.arm"]);
- global["data/Scene.arm"] = null;
- resource_embed_raw("shader_datas", "shader_datas.arm", global["data/shader_datas.arm"]);
- global["data/shader_datas.arm"] = null;
- resource_embed_font("font.ttf", global["data/font.ttf"]);
- global["data/font.ttf"] = null;
- resource_embed_font("font_mono.ttf", global["data/font_mono.ttf"]);
- global["data/font_mono.ttf"] = null;
- let files: string[] = [
- "ltc_mag.arm",
- "ltc_mat.arm",
- "default_brush.arm",
- "World_irradiance.arm",
- "World_radiance.k",
- "World_radiance_0.k",
- "World_radiance_1.k",
- "World_radiance_2.k",
- "World_radiance_3.k",
- "World_radiance_4.k",
- "World_radiance_5.k",
- "World_radiance_6.k",
- "World_radiance_7.k",
- "World_radiance_8.k",
- "brdf.k",
- "color_wheel.k",
- "color_wheel_gradient.k",
- "cursor.k",
- "icons.k",
- "icons2x.k",
- "badge.k",
- "noise256.k",
- "smaa_search.k",
- "smaa_area.k",
- "text_coloring.json",
- "version.json"
- ];
- for (let i: i32 = 0; i < additional.length; ++i) {
- let add: string = additional[i];
- array_push(files, add);
- }
- for (let i: i32 = 0; i < files.length; ++i) {
- let file: string = files[i];
- resource_embed_blob(file, global["data/" + file]);
- global["data/" + file] = null;
- }
- }
- ///if (krom_direct3d12 || krom_vulkan || krom_metal)
- function main_embed_raytrace() {
- let global: any = globalThis;
- let files: string[] = [
- "bnoise_rank.k",
- "bnoise_scramble.k",
- "bnoise_sobol.k",
- "raytrace_brute_core" + render_path_raytrace_ext,
- "raytrace_brute_full" + render_path_raytrace_ext
- ];
- for (let i: i32 = 0; i < files.length; ++i) {
- let file: string = files[i];
- resource_embed_blob(file, global["data/" + file]);
- global["data/" + file] = null;
- }
- }
- function main_embed_raytrace_bake() {
- let global: any = globalThis;
- let files: string[] = [
- "raytrace_bake_ao" + render_path_raytrace_ext,
- "raytrace_bake_bent" + render_path_raytrace_ext,
- "raytrace_bake_light" + render_path_raytrace_ext,
- "raytrace_bake_thick" + render_path_raytrace_ext
- ];
- for (let i: i32 = 0; i < files.length; ++i) {
- let file: string = files[i];
- resource_embed_blob(file, global["data/" + file]);
- global["data/" + file] = null;
- }
- }
- ///end
- ///end
- main();
|