2
0
luboslenco 1 жил өмнө
parent
commit
15ad49019a

+ 19 - 19
armorlab/Sources/MakeMaterial.ts

@@ -8,10 +8,10 @@ class MakeMaterial {
 	static parseMeshMaterial = () => {
 		let m = Project.materialData;
 
-		for (let c of m._shader.contexts) {
+		for (let c of m._.shader.contexts) {
 			if (c.name == "mesh") {
-				array_remove(m._shader.contexts, c);
-				array_remove(m._shader._contexts, c);
+				array_remove(m._.shader.contexts, c);
+				array_remove(m._.shader._.contexts, c);
 				MakeMaterial.deleteContext(c);
 				break;
 			}
@@ -19,17 +19,17 @@ class MakeMaterial {
 
 		let con = MakeMesh.run({ name: "Material", canvas: null });
 		let scon: shader_context_t = shader_context_create(con.data);
-		scon._override_context = {};
+		scon._.override_context = {};
 		if (con.frag.sharedSamplers.length > 0) {
 			let sampler = con.frag.sharedSamplers[0];
-			scon._override_context.shared_sampler = sampler.substr(sampler.lastIndexOf(" ") + 1);
+			scon._.override_context.shared_sampler = sampler.substr(sampler.lastIndexOf(" ") + 1);
 		}
 		if (!Context.raw.textureFilter) {
-			scon._override_context.filter = "point";
+			scon._.override_context.filter = "point";
 		}
-		scon._override_context.addressing = "repeat";
-		m._shader.contexts.push(scon);
-		m._shader._contexts.push(scon);
+		scon._.override_context.addressing = "repeat";
+		m._.shader.contexts.push(scon);
+		m._.shader._.contexts.push(scon);
 
 		Context.raw.ddirty = 2;
 
@@ -47,7 +47,7 @@ class MakeMaterial {
 		let rebuild = true; // heightUsed;
 		if (Config.raw.rp_gi != false && rebuild) {
 			let scon: shader_context_t = null;
-			for (let c of m._shader._contexts) {
+			for (let c of m._.shader._.contexts) {
 				if (c.name == "voxel") {
 					scon = c;
 					break;
@@ -62,10 +62,10 @@ class MakeMaterial {
 		let m = Project.materialData;
 		let scon: shader_context_t = null;
 		let mcon: material_context_t = null;
-		for (let c of m._shader.contexts) {
+		for (let c of m._.shader.contexts) {
 			if (c.name == "paint") {
-				array_remove(m._shader.contexts, c);
-				array_remove(m._shader._contexts, c);
+				array_remove(m._.shader.contexts, c);
+				array_remove(m._.shader._.contexts, c);
 				if (c != MakeMaterial.defaultScon) MakeMaterial.deleteContext(c);
 				break;
 			}
@@ -73,7 +73,7 @@ class MakeMaterial {
 		for (let c of m.contexts) {
 			if (c.name == "paint") {
 				array_remove(m.contexts, c);
-				array_remove(m._contexts, c);
+				array_remove(m._.contexts, c);
 				break;
 			}
 		}
@@ -89,14 +89,14 @@ class MakeMaterial {
 		scon2 = _scon;
 
 		if (compileError) return;
-		scon2._override_context = {};
-		scon2._override_context.addressing = "repeat";
+		scon2._.override_context = {};
+		scon2._.override_context.addressing = "repeat";
 		let mcon3: material_context_t = material_context_create(mcon2);
 
-		m._shader.contexts.push(scon2);
-		m._shader._contexts.push(scon2);
+		m._.shader.contexts.push(scon2);
+		m._.shader._.contexts.push(scon2);
 		m.contexts.push(mcon3);
-		m._contexts.push(mcon3);
+		m._.contexts.push(mcon3);
 
 		if (MakeMaterial.defaultScon == null) MakeMaterial.defaultScon = scon2;
 		if (MakeMaterial.defaultMcon == null) MakeMaterial.defaultMcon = mcon3;

+ 7 - 7
armorlab/Sources/RenderPathPaint.ts

@@ -84,10 +84,10 @@ class RenderPathPaint {
 					render_path_draw_meshes("paint");
 					UIHeader.headerHandle.redraws = 2;
 
-					let texpaint_picker = render_path_render_targets.get("texpaint_picker").image;
-					let texpaint_nor_picker = render_path_render_targets.get("texpaint_nor_picker").image;
-					let texpaint_pack_picker = render_path_render_targets.get("texpaint_pack_picker").image;
-					let texpaint_uv_picker = render_path_render_targets.get("texpaint_uv_picker").image;
+					let texpaint_picker = render_path_render_targets.get("texpaint_picker")._image;
+					let texpaint_nor_picker = render_path_render_targets.get("texpaint_nor_picker")._image;
+					let texpaint_pack_picker = render_path_render_targets.get("texpaint_pack_picker")._image;
+					let texpaint_uv_picker = render_path_render_targets.get("texpaint_uv_picker")._image;
 					let a = image_get_pixels(texpaint_picker);
 					let b = image_get_pixels(texpaint_nor_picker);
 					let c = image_get_pixels(texpaint_pack_picker);
@@ -190,7 +190,7 @@ class RenderPathPaint {
 		g4_set_pipeline(Base.pipeCursor);
 		let img = Res.get("cursor.k");
 		g4_set_tex(Base.cursorTex, img);
-		let gbuffer0 = render_path_render_targets.get("gbuffer0").image;
+		let gbuffer0 = render_path_render_targets.get("gbuffer0")._image;
 		g4_set_tex_depth(Base.cursorGbufferD, gbuffer0);
 		g4_set_float2(Base.cursorMouse, mx, my);
 		g4_set_float2(Base.cursorTexStep, 1 / gbuffer0.width, 1 / gbuffer0.height);
@@ -278,7 +278,7 @@ class RenderPathPaint {
 				t.format = "RGBA32";
 				render_path_render_targets.set(t.name, t);
 			}
-			render_path_render_targets.get("texpaint_node").image = image;
+			render_path_render_targets.get("texpaint_node")._image = image;
 			render_path_bind_target("texpaint_node", "texpaint");
 			render_path_bind_target("texpaint_nor_empty", "texpaint_nor");
 			render_path_bind_target("texpaint_pack_empty", "texpaint_pack");
@@ -289,7 +289,7 @@ class RenderPathPaint {
 			let inpaint = node.type == "InpaintNode";
 			if (inpaint) {
 				let brushNode = ParserLogic.getLogicNode(node);
-				render_path_render_targets.get("texpaint_node_target").image = (brushNode as InpaintNode).getTarget();
+				render_path_render_targets.get("texpaint_node_target")._image = (brushNode as InpaintNode).getTarget();
 			}
 		}
 		else {

+ 5 - 5
armorlab/Sources/UINodesExt.ts

@@ -40,14 +40,14 @@ class UINodesExt {
 				BrushOutputNode.inst.getAsImage(ChannelType.ChannelHeight, (texheight: image_t) => {
 
 					if (texbase != null) {
-						let texpaint = render_path_render_targets.get("texpaint").image;
+						let texpaint = render_path_render_targets.get("texpaint")._image;
 						g2_begin(texpaint);
 						g2_draw_scaled_image(texbase, 0, 0, Config.getTextureResX(), Config.getTextureResY());
 						g2_end();
 					}
 
 					if (texnor != null) {
-						let texpaint_nor = render_path_render_targets.get("texpaint_nor").image;
+						let texpaint_nor = render_path_render_targets.get("texpaint_nor")._image;
 						g2_begin(texpaint_nor);
 						g2_draw_scaled_image(texnor, 0, 0, Config.getTextureResX(), Config.getTextureResY());
 						g2_end();
@@ -57,7 +57,7 @@ class UINodesExt {
 					if (Base.pipeCopyA == null) Base.makePipeCopyA();
 					if (const_data_screen_aligned_vb == null) const_data_create_screen_aligned_data();
 
-					let texpaint_pack = render_path_render_targets.get("texpaint_pack").image;
+					let texpaint_pack = render_path_render_targets.get("texpaint_pack")._image;
 
 					if (texocc != null) {
 						g2_begin(texpaint_pack);
@@ -90,7 +90,7 @@ class UINodesExt {
 							// Make copy of vertices before displacement
 							let o = Project.paintObjects[0];
 							let g = o.data;
-							let vertices = g4_vertex_buffer_lock(g._vertex_buffer);
+							let vertices = g4_vertex_buffer_lock(g._.vertex_buffer);
 							if (UINodesExt.lastVertices == null || UINodesExt.lastVertices.byteLength != vertices.byteLength) {
 								UINodesExt.lastVertices = new DataView(new ArrayBuffer(vertices.byteLength));
 								for (let i = 0; i < Math.floor(vertices.byteLength / 2); ++i) {
@@ -102,7 +102,7 @@ class UINodesExt {
 									vertices.setInt16(i * 2, UINodesExt.lastVertices.getInt16(i * 2, true), true);
 								}
 							}
-							g4_vertex_buffer_unlock(g._vertex_buffer);
+							g4_vertex_buffer_unlock(g._.vertex_buffer);
 
 							// Apply displacement
 							if (Config.raw.displace_strength > 0) {

+ 5 - 5
armorlab/Sources/nodes/BrushOutputNode.ts

@@ -20,7 +20,7 @@ class BrushOutputNode extends LogicNode {
 				t.width = Config.getTextureResX();
 				t.height = Config.getTextureResY();
 				t.format = "RGBA32";
-				this.texpaint = render_path_create_render_target(t).image;
+				this.texpaint = render_path_create_render_target(t)._image;
 			}
 			{
 				let t = render_target_create();
@@ -28,7 +28,7 @@ class BrushOutputNode extends LogicNode {
 				t.width = Config.getTextureResX();
 				t.height = Config.getTextureResY();
 				t.format = "RGBA32";
-				this.texpaint_nor = render_path_create_render_target(t).image;
+				this.texpaint_nor = render_path_create_render_target(t)._image;
 			}
 			{
 				let t = render_target_create();
@@ -36,7 +36,7 @@ class BrushOutputNode extends LogicNode {
 				t.width = Config.getTextureResX();
 				t.height = Config.getTextureResY();
 				t.format = "RGBA32";
-				this.texpaint_pack = render_path_create_render_target(t).image;
+				this.texpaint_pack = render_path_create_render_target(t)._image;
 			}
 			{
 				let t = render_target_create();
@@ -44,7 +44,7 @@ class BrushOutputNode extends LogicNode {
 				t.width = 1;
 				t.height = 1;
 				t.format = "RGBA32";
-				this.texpaint_nor_empty = render_path_create_render_target(t).image;
+				this.texpaint_nor_empty = render_path_create_render_target(t)._image;
 			}
 			{
 				let t = render_target_create();
@@ -52,7 +52,7 @@ class BrushOutputNode extends LogicNode {
 				t.width = 1;
 				t.height = 1;
 				t.format = "RGBA32";
-				this.texpaint_pack_empty = render_path_create_render_target(t).image;
+				this.texpaint_pack_empty = render_path_create_render_target(t)._image;
 			}
 		}
 		else {

+ 1 - 1
armorpaint/Sources/RenderPathPaint.ts

@@ -352,7 +352,7 @@ class RenderPathPaint {
 
 			let cc_context = shaderContexts[0];
 			if (const_data_screen_aligned_vb == null) const_data_create_screen_aligned_data();
-			g4_set_pipeline(cc_context._pipe_state);
+			g4_set_pipeline(cc_context._.pipe_state);
 			uniforms_set_context_consts(cc_context,_render_path_bind_params);
 			uniforms_set_obj_consts(cc_context, Project.paintObjects[0].base);
 			uniforms_set_material_consts(cc_context, materialContexts[0]);

+ 9 - 9
armorsculpt/Sources/ImportMesh.ts

@@ -35,7 +35,7 @@ class ImportMesh {
 	static finishImport = () => {
 		if (Context.raw.mergedObject != null) {
 			mesh_object_remove(Context.raw.mergedObject);
-			data_delete_mesh(Context.raw.mergedObject.data._handle);
+			data_delete_mesh(Context.raw.mergedObject.data._.handle);
 			Context.raw.mergedObject = null;
 		}
 
@@ -86,10 +86,10 @@ class ImportMesh {
 			for (let i = 0; i < Project.paintObjects.length; ++i) {
 				let p = Project.paintObjects[i];
 				if (p == Context.raw.paintObject) continue;
-				data_delete_mesh(p.data._handle);
+				data_delete_mesh(p.data._.handle);
 				mesh_object_remove(p);
 			}
-			let handle = Context.raw.paintObject.data._handle;
+			let handle = Context.raw.paintObject.data._.handle;
 			if (handle != "SceneSphere" && handle != "ScenePlane") {
 				data_delete_mesh(handle);
 			}
@@ -108,8 +108,8 @@ class ImportMesh {
 			Context.raw.paintObject.base.name = mesh.name;
 			Project.paintObjects = [Context.raw.paintObject];
 
-			md._handle = raw.name;
-			data_cached_meshes.set(md._handle, md);
+			md._.handle = raw.name;
+			data_cached_meshes.set(md._.handle, md);
 
 			Context.raw.ddirty = 4;
 			UIBase.hwnds[TabArea.TabSidebar0].redraws = 2;
@@ -156,15 +156,15 @@ class ImportMesh {
 			for (let p of Project.paintObjects) {
 				if (p.base.name == object.base.name) {
 					p.base.name += ".001";
-					p.data._handle += ".001";
-					data_cached_meshes.set(p.data._handle, p.data);
+					p.data._.handle += ".001";
+					data_cached_meshes.set(p.data._.handle, p.data);
 				}
 			}
 
 			Project.paintObjects.push(object);
 
-			md._handle = raw.name;
-			data_cached_meshes.set(md._handle, md);
+			md._.handle = raw.name;
+			data_cached_meshes.set(md._.handle, md);
 
 			Context.raw.ddirty = 4;
 			UIBase.hwnds[TabArea.TabSidebar0].redraws = 2;

+ 39 - 39
armorsculpt/Sources/MakeMaterial.ts

@@ -16,10 +16,10 @@ class MakeMaterial {
 	static parseMeshMaterial = () => {
 		let m = Project.materials[0].data;
 
-		for (let c of m._shader._contexts) {
+		for (let c of m._.shader._.contexts) {
 			if (c.name == "mesh") {
-				array_remove(m._shader.contexts, c);
-				array_remove(m._shader._contexts, c);
+				array_remove(m._.shader.contexts, c);
+				array_remove(m._.shader._.contexts, c);
 				MakeMaterial.deleteContext(c);
 				break;
 			}
@@ -27,12 +27,12 @@ class MakeMaterial {
 
 		if (MakeMesh.layerPassCount > 1) {
 			let i = 0;
-			while (i < m._shader._contexts.length) {
-				let c = m._shader._contexts[i];
+			while (i < m._.shader._.contexts.length) {
+				let c = m._.shader._.contexts[i];
 				for (let j = 1; j < MakeMesh.layerPassCount; ++j) {
 					if (c.name == "mesh" + j) {
-						array_remove(m._shader.contexts, c);
-						array_remove(m._shader._contexts, c);
+						array_remove(m._.shader.contexts, c);
+						array_remove(m._.shader._.contexts, c);
 						MakeMaterial.deleteContext(c);
 						i--;
 						break;
@@ -47,7 +47,7 @@ class MakeMaterial {
 				for (let j = 1; j < MakeMesh.layerPassCount; ++j) {
 					if (c.name == "mesh" + j) {
 						array_remove(m.contexts, c);
-						array_remove(m._contexts, c);
+						array_remove(m._.contexts, c);
 						i--;
 						break;
 					}
@@ -58,34 +58,34 @@ class MakeMaterial {
 
 		let con = MakeMesh.run({ name: "Material", canvas: null });
 		let scon: shader_context_t = shader_context_create(con.data);
-		scon._override_context = {};
+		scon._.override_context = {};
 		if (con.frag.sharedSamplers.length > 0) {
 			let sampler = con.frag.sharedSamplers[0];
-			scon._override_context.shared_sampler = sampler.substr(sampler.lastIndexOf(" ") + 1);
+			scon._.override_context.shared_sampler = sampler.substr(sampler.lastIndexOf(" ") + 1);
 		}
 		if (!Context.raw.textureFilter) {
-			scon._override_context.filter = "point";
+			scon._.override_context.filter = "point";
 		}
-		m._shader.contexts.push(scon);
-		m._shader._contexts.push(scon);
+		m._.shader.contexts.push(scon);
+		m._.shader._.contexts.push(scon);
 
 		for (let i = 1; i < MakeMesh.layerPassCount; ++i) {
 			let con = MakeMesh.run({ name: "Material", canvas: null }, i);
 			let scon: shader_context_t = shader_context_create(con.data);
-			scon._override_context = {};
+			scon._.override_context = {};
 			if (con.frag.sharedSamplers.length > 0) {
 				let sampler = con.frag.sharedSamplers[0];
-				scon._override_context.shared_sampler = sampler.substr(sampler.lastIndexOf(" ") + 1);
+				scon._.override_context.shared_sampler = sampler.substr(sampler.lastIndexOf(" ") + 1);
 			}
 			if (!Context.raw.textureFilter) {
-				scon._override_context.filter = "point";
+				scon._.override_context.filter = "point";
 			}
-			m._shader.contexts.push(scon);
-			m._shader._contexts.push(scon);
+			m._.shader.contexts.push(scon);
+			m._.shader._.contexts.push(scon);
 
 			let mcon: material_context_t = material_context_create({ name: "mesh" + i, bind_textures: [] });
 			m.contexts.push(mcon);
-			m._contexts.push(mcon);
+			m._.contexts.push(mcon);
 		}
 
 		Context.raw.ddirty = 2;
@@ -98,21 +98,21 @@ class MakeMaterial {
 	static parseParticleMaterial = () => {
 		let m = Context.raw.particleMaterial;
 		let sc: shader_context_t = null;
-		for (let c of m._shader._contexts) {
+		for (let c of m._.shader._.contexts) {
 			if (c.name == "mesh") {
 				sc = c;
 				break;
 			}
 		}
 		if (sc != null) {
-			array_remove(m._shader.contexts, sc);
-			array_remove(m._shader._contexts, sc);
+			array_remove(m._.shader.contexts, sc);
+			array_remove(m._.shader._.contexts, sc);
 		}
 		let con = MakeParticle.run({ name: "MaterialParticle", canvas: null });
 		if (sc != null) MakeMaterial.deleteContext(sc);
 		sc = shader_context_create(con.data);
-		m._shader.contexts.push(sc);
-		m._shader._contexts.push(sc);
+		m._.shader.contexts.push(sc);
+		m._.shader._.contexts.push(sc);
 	}
 
 	static parseMeshPreviewMaterial = () => {
@@ -120,14 +120,14 @@ class MakeMaterial {
 
 		let m = Project.materials[0].data;
 		let scon: shader_context_t = null;
-		for (let c of m._shader._contexts) {
+		for (let c of m._.shader._.contexts) {
 			if (c.name == "mesh") {
 				scon = c;
 				break;
 			}
 		}
-		array_remove(m._shader.contexts, scon);
-		array_remove(m._shader._contexts, scon);
+		array_remove(m._.shader.contexts, scon);
+		array_remove(m._.shader._.contexts, scon);
 
 		let mcon: material_context_t = { name: "mesh", bind_textures: [] };
 
@@ -149,8 +149,8 @@ class MakeMaterial {
 		scon = _scon;
 		if (compileError) return;
 
-		m._shader.contexts.push(scon);
-		m._shader._contexts.push(scon);
+		m._.shader.contexts.push(scon);
+		m._.shader._.contexts.push(scon);
 	}
 
 	///if arm_voxels
@@ -158,7 +158,7 @@ class MakeMaterial {
 		let rebuild = MakeMaterial.heightUsed;
 		if (Config.raw.rp_gi != false && rebuild) {
 			let scon: shader_context_t = null;
-			for (let c of m._shader._contexts) {
+			for (let c of m._.shader._.contexts) {
 				if (c.name == "voxel") {
 					scon = c;
 					break;
@@ -182,10 +182,10 @@ class MakeMaterial {
 		let m = Project.materials[0].data;
 		let scon: shader_context_t = null;
 		let mcon: material_context_t = null;
-		for (let c of m._shader._contexts) {
+		for (let c of m._.shader._.contexts) {
 			if (c.name == "paint") {
-				array_remove(m._shader.contexts, c);
-				array_remove(m._shader._contexts, c);
+				array_remove(m._.shader.contexts, c);
+				array_remove(m._.shader._.contexts, c);
 				if (c != MakeMaterial.defaultScon) MakeMaterial.deleteContext(c);
 				break;
 			}
@@ -193,7 +193,7 @@ class MakeMaterial {
 		for (let c of m.contexts) {
 			if (c.name == "paint") {
 				array_remove(m.contexts, c);
-				array_remove(m._contexts, c);
+				array_remove(m._.contexts, c);
 				break;
 			}
 		}
@@ -209,14 +209,14 @@ class MakeMaterial {
 		scon2 = _scon;
 
 		if (compileError) return;
-		scon2._override_context = {};
-		scon2._override_context.addressing = "repeat";
+		scon2._.override_context = {};
+		scon2._.override_context.addressing = "repeat";
 		let mcon3: material_context_t = material_context_create(mcon2);
 
-		m._shader.contexts.push(scon2);
-		m._shader._contexts.push(scon2);
+		m._.shader.contexts.push(scon2);
+		m._.shader._.contexts.push(scon2);
 		m.contexts.push(mcon3);
-		m._contexts.push(mcon3);
+		m._.contexts.push(mcon3);
 
 		if (MakeMaterial.defaultScon == null) MakeMaterial.defaultScon = scon2;
 		if (MakeMaterial.defaultMcon == null) MakeMaterial.defaultMcon = mcon3;

+ 1 - 1
base/Sources/Project.ts

@@ -180,7 +180,7 @@ class Project {
 
 					let imgmesh = image_from_bytes(f32a.buffer, Config.getTextureResX(), Config.getTextureResY(), tex_format_t.RGBA128);
 					let texpaint = Project.layers[0].texpaint;
-					g2_begin(texpaint, false);
+					g2_begin(texpaint);
 					g2_set_pipeline(Base.pipeCopy128);
 					g2_draw_scaled_image(imgmesh, 0, 0, Config.getTextureResX(), Config.getTextureResY());
 					g2_set_pipeline(null);

+ 3 - 3
base/Sources/RenderPathRaytrace.ts

@@ -47,7 +47,7 @@ class RenderPathRaytrace {
 		}
 
 		let probe = scene_world;
-		let savedEnvmap = Context.raw.showEnvmapBlur ? probe._radiance_mipmaps[0] : Context.raw.savedEnvmap;
+		let savedEnvmap = Context.raw.showEnvmapBlur ? probe._.radiance_mipmaps[0] : Context.raw.savedEnvmap;
 
 		if (RenderPathRaytrace.lastEnvmap != savedEnvmap) {
 			RenderPathRaytrace.lastEnvmap = savedEnvmap;
@@ -161,8 +161,8 @@ class RenderPathRaytrace {
 		let mo_scale = mo.base.transform.scale.x; // Uniform scale only
 		RenderPathRaytrace.vb_scale = md.scale_pos * mo_scale;
 		if (mo.base.parent != null) RenderPathRaytrace.vb_scale *= mo.base.parent.transform.scale.x;
-		RenderPathRaytrace.vb = md._vertex_buffer;
-		RenderPathRaytrace.ib = md._index_buffers[0];
+		RenderPathRaytrace.vb = md._.vertex_buffer;
+		RenderPathRaytrace.ib = md._.index_buffers[0];
 	}
 
 	static draw = (useLiveLayer: bool) => {

+ 1 - 1
base/Sources/RenderPathRaytraceBake.ts

@@ -75,7 +75,7 @@ class RenderPathRaytraceBake {
 			Context.updateEnvmap();
 		}
 		let probe = scene_world;
-		let savedEnvmap = Context.raw.showEnvmapBlur ? probe._radiance_mipmaps[0] : Context.raw.savedEnvmap;
+		let savedEnvmap = Context.raw.showEnvmapBlur ? probe._.radiance_mipmaps[0] : Context.raw.savedEnvmap;
 		if (RenderPathRaytrace.lastEnvmap != savedEnvmap || RenderPathRaytraceBake.lastLayer != Context.raw.layer.texpaint) {
 			RenderPathRaytrace.lastEnvmap = savedEnvmap;
 			RenderPathRaytraceBake.lastLayer = Context.raw.layer.texpaint;