Skip to content

Commit

Permalink
Format
Browse files Browse the repository at this point in the history
  • Loading branch information
luboslenco committed Mar 13, 2024
1 parent 9d091d0 commit 3132882
Show file tree
Hide file tree
Showing 138 changed files with 15,666 additions and 15,769 deletions.
2 changes: 1 addition & 1 deletion armorforge/Sources/TabObjects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class TabObjects {
let md: material_data_t = data_get_material("Scene", "TempMaterial" + TabObjects.materialId);
let mo: mesh_object_t = currentObject.ext;
mo.materials = [md];
MakeMaterial.parse_mesh_preview_material(md);
MakeMaterial.make_material_parse_mesh_preview_material(md);
}
}, 1);
}
Expand Down
2 changes: 1 addition & 1 deletion armorlab/Sources/MakeMaterial.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class MakeMaterial {
///end

///if (krom_direct3d12 || krom_vulkan)
RenderPathRaytrace.dirty = 1;
render_path_raytrace_dirty = 1;
///end
}

Expand Down
264 changes: 132 additions & 132 deletions armorlab/Sources/MakeMesh.ts

Large diffs are not rendered by default.

298 changes: 149 additions & 149 deletions armorlab/Sources/MakePaint.ts

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions armorlab/Sources/RenderPathPaint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ class RenderPathPaint {
let canvas = ui_nodes_getCanvas(true);
if (nodes.nodesSelectedId.length > 0) {
let node = zui_get_node(canvas.nodes, nodes.nodesSelectedId[0]);
let brushNode = ParserLogic.getLogicNode(node);
let brushNode = parser_logic_getLogicNode(node);
if (brushNode != null) {
image = brushNode.getCachedImage();
}
Expand Down Expand Up @@ -288,7 +288,7 @@ class RenderPathPaint {
let node = zui_get_node(canvas.nodes, nodes.nodesSelectedId[0]);
let inpaint = node.type == "InpaintNode";
if (inpaint) {
let brushNode = ParserLogic.getLogicNode(node);
let brushNode = parser_logic_getLogicNode(node);
render_path_render_targets.get("texpaint_node_target")._image = (brushNode as InpaintNode).getTarget();
}
}
Expand Down
4 changes: 2 additions & 2 deletions armorlab/Sources/UINodesExt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ class UINodesExt {
app_remove_render_2d(delayIdleSleep);

///if (krom_direct3d12 || krom_vulkan || krom_metal)
RenderPathRaytrace.ready = false;
render_path_raytrace_ready = false;
///end
}
}

base_notifyOnNextFrame(() => {
let timer = time_time();
ParserLogic.parse(project_canvas);
parser_logic_parse(project_canvas);

PhotoToPBRNode.cachedSource = null;
BrushOutputNode.inst.getAsImage(ChannelType.ChannelBaseColor, (texbase: image_t) => {
Expand Down
2 changes: 1 addition & 1 deletion armorlab/Sources/nodes/RGBNode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class RGBNode extends LogicNode {
}

let f32a = new Float32Array(4);
let raw = ParserLogic.getRawNode(this);
let raw = parser_logic_getRawNode(this);
let default_value = raw.outputs[0].default_value;
f32a[0] = default_value[0];
f32a[1] = default_value[1];
Expand Down
26 changes: 13 additions & 13 deletions armorpaint/Sources/ImportFolder.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

class ImportFolder {

static run = (path: string) => {
static import_folder_run = (path: string) => {
let files: string[] = file_read_directory(path);
let mapbase: string = "";
let mapopac: string = "";
Expand Down Expand Up @@ -50,7 +50,7 @@ class ImportFolder {
}

if (valid) {
ImportTexture.run(path + path_sep + f, false);
import_texture_run(path + path_sep + f, false);
found_texture = true;
}
}
Expand All @@ -61,7 +61,7 @@ class ImportFolder {
}

// Create material
context_raw.material = SlotMaterial.create(project_materials[0].data);
context_raw.material = SlotMaterial.slot_material_create(project_materials[0].data);
project_materials.push(context_raw.material);
let nodes: zui_nodes_t = context_raw.material.nodes;
let canvas: zui_node_canvas_t = context_raw.material.canvas;
Expand All @@ -86,42 +86,42 @@ class ImportFolder {
let start_y: i32 = 100;
let node_h: i32 = 164;
if (mapbase != "") {
ImportFolder.place_image_node(nodes, canvas, mapbase, start_y + node_h * pos, nout.id, 0);
ImportFolder.import_folder_place_image_node(nodes, canvas, mapbase, start_y + node_h * pos, nout.id, 0);
pos++;
}
if (mapopac != "") {
ImportFolder.place_image_node(nodes, canvas, mapopac, start_y + node_h * pos, nout.id, 1);
ImportFolder.import_folder_place_image_node(nodes, canvas, mapopac, start_y + node_h * pos, nout.id, 1);
pos++;
}
if (mapocc != "") {
ImportFolder.place_image_node(nodes, canvas, mapocc, start_y + node_h * pos, nout.id, 2);
ImportFolder.import_folder_place_image_node(nodes, canvas, mapocc, start_y + node_h * pos, nout.id, 2);
pos++;
}
if (maprough != "") {
ImportFolder.place_image_node(nodes, canvas, maprough, start_y + node_h * pos, nout.id, 3);
ImportFolder.import_folder_place_image_node(nodes, canvas, maprough, start_y + node_h * pos, nout.id, 3);
pos++;
}
if (mapmet != "") {
ImportFolder.place_image_node(nodes, canvas, mapmet, start_y + node_h * pos, nout.id, 4);
ImportFolder.import_folder_place_image_node(nodes, canvas, mapmet, start_y + node_h * pos, nout.id, 4);
pos++;
}
if (mapnor != "") {
ImportFolder.place_image_node(nodes, canvas, mapnor, start_y + node_h * pos, nout.id, 5);
ImportFolder.import_folder_place_image_node(nodes, canvas, mapnor, start_y + node_h * pos, nout.id, 5);
pos++;
}
if (mapheight != "") {
ImportFolder.place_image_node(nodes, canvas, mapheight, start_y + node_h * pos, nout.id, 7);
ImportFolder.import_folder_place_image_node(nodes, canvas, mapheight, start_y + node_h * pos, nout.id, 7);
pos++;
}

MakeMaterial.parse_paint_material();
MakeMaterial.make_material_parse_paint_material();
util_render_make_material_preview();
ui_base_hwnds[1].redraws = 2;
history_new_material();
}

static place_image_node = (nodes: zui_nodes_t, canvas: zui_node_canvas_t, asset: string, ny: i32, to_id: i32, to_socket: i32) => {
let n: zui_node_t = NodesMaterial.create_node("TEX_IMAGE");
static import_folder_place_image_node = (nodes: zui_nodes_t, canvas: zui_node_canvas_t, asset: string, ny: i32, to_id: i32, to_socket: i32) => {
let n: zui_node_t = nodes_material_create_node("TEX_IMAGE");
n.buttons[0].default_value = base_get_asset_index(asset);
n.x = 72;
n.y = ny;
Expand Down
154 changes: 77 additions & 77 deletions armorpaint/Sources/MakeBake.ts
Original file line number Diff line number Diff line change
@@ -1,142 +1,142 @@

class MakeBake {

static run = (con: NodeShaderContextRaw, vert: NodeShaderRaw, frag: NodeShaderRaw) => {
static make_bake_run = (con: NodeShaderContextRaw, vert: NodeShaderRaw, frag: NodeShaderRaw) => {
if (context_raw.bake_type == bake_type_t.AO) { // Voxel
///if arm_voxels
// Apply normal channel
frag.wposition = true;
frag.n = true;
frag.vvec = true;
NodeShader.add_function(frag, str_cotangent_frame);
node_shader_add_function(frag, str_cotangent_frame);
///if krom_direct3d11
NodeShader.write(frag, 'mat3 TBN = cotangentFrame(n, vVec, texCoord);');
node_shader_write(frag, 'mat3 TBN = cotangentFrame(n, vVec, texCoord);');
///else
NodeShader.write(frag, 'mat3 TBN = cotangentFrame(n, -vVec, texCoord);');
node_shader_write(frag, 'mat3 TBN = cotangentFrame(n, -vVec, texCoord);');
///end
NodeShader.write(frag, 'n = nortan * 2.0 - 1.0;');
NodeShader.write(frag, 'n.y = -n.y;');
NodeShader.write(frag, 'n = normalize(mul(n, TBN));');
node_shader_write(frag, 'n = nortan * 2.0 - 1.0;');
node_shader_write(frag, 'n.y = -n.y;');
node_shader_write(frag, 'n = normalize(mul(n, TBN));');

NodeShader.write(frag, MakeMaterial.voxelgi_half_extents());
NodeShader.write(frag, 'vec3 voxpos = wposition / voxelgiHalfExtents;');
NodeShader.add_uniform(frag, 'sampler3D voxels');
NodeShader.add_function(frag, str_trace_ao);
node_shader_write(frag, MakeMaterial.make_material_voxelgi_half_extents());
node_shader_write(frag, 'vec3 voxpos = wposition / voxelgiHalfExtents;');
node_shader_add_uniform(frag, 'sampler3D voxels');
node_shader_add_function(frag, str_trace_ao);
frag.n = true;
let strength: f32 = context_raw.bake_ao_strength;
let radius: f32 = context_raw.bake_ao_radius;
let offset: f32 = context_raw.bake_ao_offset;
NodeShader.write(frag, `float ao = traceAO(voxpos, n, ${radius}, ${offset}) * ${strength};`);
node_shader_write(frag, `float ao = traceAO(voxpos, n, ${radius}, ${offset}) * ${strength};`);
if (context_raw.bake_axis != bake_axis_t.XYZ) {
let axis: string = MakeBake.axis_string(context_raw.bake_axis);
NodeShader.write(frag, `ao *= dot(n, ${axis});`);
let axis: string = MakeBake.make_bake_axis_string(context_raw.bake_axis);
node_shader_write(frag, `ao *= dot(n, ${axis});`);
}
NodeShader.write(frag, 'ao = 1.0 - ao;');
NodeShader.write(frag, 'fragColor[0] = vec4(ao, ao, ao, 1.0);');
node_shader_write(frag, 'ao = 1.0 - ao;');
node_shader_write(frag, 'fragColor[0] = vec4(ao, ao, ao, 1.0);');
///end
}
else if (context_raw.bake_type == bake_type_t.CURVATURE) {
let pass: bool = ParserMaterial.bake_passthrough;
let strength: string = pass ? ParserMaterial.bake_passthrough_strength : context_raw.bake_curv_strength + "";
let radius: string = pass ? ParserMaterial.bake_passthrough_radius : context_raw.bake_curv_radius + "";
let offset: string = pass ? ParserMaterial.bake_passthrough_offset : context_raw.bake_curv_offset + "";
let pass: bool = parser_material_bake_passthrough;
let strength: string = pass ? parser_material_bake_passthrough_strength : context_raw.bake_curv_strength + "";
let radius: string = pass ? parser_material_bake_passthrough_radius : context_raw.bake_curv_radius + "";
let offset: string = pass ? parser_material_bake_passthrough_offset : context_raw.bake_curv_offset + "";
strength = `float(${strength})`;
radius = `float(${radius})`;
offset = `float(${offset})`;
frag.n = true;
NodeShader.write(frag, 'vec3 dx = dFdx(n);');
NodeShader.write(frag, 'vec3 dy = dFdy(n);');
NodeShader.write(frag, 'float curvature = max(dot(dx, dx), dot(dy, dy));');
NodeShader.write(frag, 'curvature = clamp(pow(curvature, (1.0 / ' + radius + ') * 0.25) * ' + strength + ' * 2.0 + ' + offset + ' / 10.0, 0.0, 1.0);');
node_shader_write(frag, 'vec3 dx = dFdx(n);');
node_shader_write(frag, 'vec3 dy = dFdy(n);');
node_shader_write(frag, 'float curvature = max(dot(dx, dx), dot(dy, dy));');
node_shader_write(frag, 'curvature = clamp(pow(curvature, (1.0 / ' + radius + ') * 0.25) * ' + strength + ' * 2.0 + ' + offset + ' / 10.0, 0.0, 1.0);');
if (context_raw.bake_axis != bake_axis_t.XYZ) {
let axis: string = MakeBake.axis_string(context_raw.bake_axis);
NodeShader.write(frag, `curvature *= dot(n, ${axis});`);
let axis: string = MakeBake.make_bake_axis_string(context_raw.bake_axis);
node_shader_write(frag, `curvature *= dot(n, ${axis});`);
}
NodeShader.write(frag, 'fragColor[0] = vec4(curvature, curvature, curvature, 1.0);');
node_shader_write(frag, 'fragColor[0] = vec4(curvature, curvature, curvature, 1.0);');
}
else if (context_raw.bake_type == bake_type_t.NORMAL) { // Tangent
frag.n = true;
NodeShader.add_uniform(frag, 'sampler2D texpaint_undo', '_texpaint_undo'); // Baked high-poly normals
NodeShader.write(frag, 'vec3 n0 = textureLod(texpaint_undo, texCoord, 0.0).rgb * vec3(2.0, 2.0, 2.0) - vec3(1.0, 1.0, 1.0);');
NodeShader.add_function(frag, str_cotangent_frame);
NodeShader.write(frag, 'mat3 invTBN = transpose(cotangentFrame(n, n, texCoord));');
NodeShader.write(frag, 'vec3 res = normalize(mul(n0, invTBN)) * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);');
NodeShader.write(frag, 'fragColor[0] = vec4(res, 1.0);');
node_shader_add_uniform(frag, 'sampler2D texpaint_undo', '_texpaint_undo'); // Baked high-poly normals
node_shader_write(frag, 'vec3 n0 = textureLod(texpaint_undo, texCoord, 0.0).rgb * vec3(2.0, 2.0, 2.0) - vec3(1.0, 1.0, 1.0);');
node_shader_add_function(frag, str_cotangent_frame);
node_shader_write(frag, 'mat3 invTBN = transpose(cotangentFrame(n, n, texCoord));');
node_shader_write(frag, 'vec3 res = normalize(mul(n0, invTBN)) * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);');
node_shader_write(frag, 'fragColor[0] = vec4(res, 1.0);');
}
else if (context_raw.bake_type == bake_type_t.NORMAL_OBJECT) {
frag.n = true;
NodeShader.write(frag, 'fragColor[0] = vec4(n * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5), 1.0);');
node_shader_write(frag, 'fragColor[0] = vec4(n * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5), 1.0);');
if (context_raw.bake_up_axis == bake_up_axis_t.Y) {
NodeShader.write(frag, 'fragColor[0].rgb = vec3(fragColor[0].r, fragColor[0].b, 1.0 - fragColor[0].g);');
node_shader_write(frag, 'fragColor[0].rgb = vec3(fragColor[0].r, fragColor[0].b, 1.0 - fragColor[0].g);');
}
}
else if (context_raw.bake_type == bake_type_t.HEIGHT) {
frag.wposition = true;
NodeShader.add_uniform(frag, 'sampler2D texpaint_undo', '_texpaint_undo'); // Baked high-poly positions
NodeShader.write(frag, 'vec3 wpos0 = textureLod(texpaint_undo, texCoord, 0.0).rgb * vec3(2.0, 2.0, 2.0) - vec3(1.0, 1.0, 1.0);');
NodeShader.write(frag, 'float res = distance(wpos0, wposition) * 10.0;');
NodeShader.write(frag, 'fragColor[0] = vec4(res, res, res, 1.0);');
node_shader_add_uniform(frag, 'sampler2D texpaint_undo', '_texpaint_undo'); // Baked high-poly positions
node_shader_write(frag, 'vec3 wpos0 = textureLod(texpaint_undo, texCoord, 0.0).rgb * vec3(2.0, 2.0, 2.0) - vec3(1.0, 1.0, 1.0);');
node_shader_write(frag, 'float res = distance(wpos0, wposition) * 10.0;');
node_shader_write(frag, 'fragColor[0] = vec4(res, res, res, 1.0);');
}
else if (context_raw.bake_type == bake_type_t.DERIVATIVE) {
NodeShader.add_uniform(frag, 'sampler2D texpaint_undo', '_texpaint_undo'); // Baked height
NodeShader.write(frag, 'vec2 texDx = dFdx(texCoord);');
NodeShader.write(frag, 'vec2 texDy = dFdy(texCoord);');
NodeShader.write(frag, 'float h0 = textureLod(texpaint_undo, texCoord, 0.0).r * 100;');
NodeShader.write(frag, 'float h1 = textureLod(texpaint_undo, texCoord + texDx, 0.0).r * 100;');
NodeShader.write(frag, 'float h2 = textureLod(texpaint_undo, texCoord + texDy, 0.0).r * 100;');
NodeShader.write(frag, 'fragColor[0] = vec4((h1 - h0) * 0.5 + 0.5, (h2 - h0) * 0.5 + 0.5, 0.0, 1.0);');
node_shader_add_uniform(frag, 'sampler2D texpaint_undo', '_texpaint_undo'); // Baked height
node_shader_write(frag, 'vec2 texDx = dFdx(texCoord);');
node_shader_write(frag, 'vec2 texDy = dFdy(texCoord);');
node_shader_write(frag, 'float h0 = textureLod(texpaint_undo, texCoord, 0.0).r * 100;');
node_shader_write(frag, 'float h1 = textureLod(texpaint_undo, texCoord + texDx, 0.0).r * 100;');
node_shader_write(frag, 'float h2 = textureLod(texpaint_undo, texCoord + texDy, 0.0).r * 100;');
node_shader_write(frag, 'fragColor[0] = vec4((h1 - h0) * 0.5 + 0.5, (h2 - h0) * 0.5 + 0.5, 0.0, 1.0);');
}
else if (context_raw.bake_type == bake_type_t.POSITION) {
frag.wposition = true;
NodeShader.write(frag, 'fragColor[0] = vec4(wposition * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5), 1.0);');
node_shader_write(frag, 'fragColor[0] = vec4(wposition * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5), 1.0);');
if (context_raw.bake_up_axis == bake_up_axis_t.Y) {
NodeShader.write(frag, 'fragColor[0].rgb = vec3(fragColor[0].r, fragColor[0].b, 1.0 - fragColor[0].g);');
node_shader_write(frag, 'fragColor[0].rgb = vec3(fragColor[0].r, fragColor[0].b, 1.0 - fragColor[0].g);');
}
}
else if (context_raw.bake_type == bake_type_t.TEXCOORD) {
NodeShader.write(frag, 'fragColor[0] = vec4(texCoord.xy, 0.0, 1.0);');
node_shader_write(frag, 'fragColor[0] = vec4(texCoord.xy, 0.0, 1.0);');
}
else if (context_raw.bake_type == bake_type_t.MATERIALID) {
NodeShader.add_uniform(frag, 'sampler2D texpaint_nor_undo', '_texpaint_nor_undo');
NodeShader.write(frag, 'float sample_matid = textureLod(texpaint_nor_undo, texCoord, 0.0).a + 1.0 / 255.0;');
NodeShader.write(frag, 'float matid_r = fract(sin(dot(vec2(sample_matid, sample_matid * 20.0), vec2(12.9898, 78.233))) * 43758.5453);');
NodeShader.write(frag, 'float matid_g = fract(sin(dot(vec2(sample_matid * 20.0, sample_matid), vec2(12.9898, 78.233))) * 43758.5453);');
NodeShader.write(frag, 'float matid_b = fract(sin(dot(vec2(sample_matid, sample_matid * 40.0), vec2(12.9898, 78.233))) * 43758.5453);');
NodeShader.write(frag, 'fragColor[0] = vec4(matid_r, matid_g, matid_b, 1.0);');
node_shader_add_uniform(frag, 'sampler2D texpaint_nor_undo', '_texpaint_nor_undo');
node_shader_write(frag, 'float sample_matid = textureLod(texpaint_nor_undo, texCoord, 0.0).a + 1.0 / 255.0;');
node_shader_write(frag, 'float matid_r = fract(sin(dot(vec2(sample_matid, sample_matid * 20.0), vec2(12.9898, 78.233))) * 43758.5453);');
node_shader_write(frag, 'float matid_g = fract(sin(dot(vec2(sample_matid * 20.0, sample_matid), vec2(12.9898, 78.233))) * 43758.5453);');
node_shader_write(frag, 'float matid_b = fract(sin(dot(vec2(sample_matid, sample_matid * 40.0), vec2(12.9898, 78.233))) * 43758.5453);');
node_shader_write(frag, 'fragColor[0] = vec4(matid_r, matid_g, matid_b, 1.0);');
}
else if (context_raw.bake_type == bake_type_t.OBJECTID) {
NodeShader.add_uniform(frag, 'float objectId', '_objectId');
NodeShader.write(frag, 'float obid = objectId + 1.0 / 255.0;');
NodeShader.write(frag, 'float id_r = fract(sin(dot(vec2(obid, obid * 20.0), vec2(12.9898, 78.233))) * 43758.5453);');
NodeShader.write(frag, 'float id_g = fract(sin(dot(vec2(obid * 20.0, obid), vec2(12.9898, 78.233))) * 43758.5453);');
NodeShader.write(frag, 'float id_b = fract(sin(dot(vec2(obid, obid * 40.0), vec2(12.9898, 78.233))) * 43758.5453);');
NodeShader.write(frag, 'fragColor[0] = vec4(id_r, id_g, id_b, 1.0);');
node_shader_add_uniform(frag, 'float objectId', '_objectId');
node_shader_write(frag, 'float obid = objectId + 1.0 / 255.0;');
node_shader_write(frag, 'float id_r = fract(sin(dot(vec2(obid, obid * 20.0), vec2(12.9898, 78.233))) * 43758.5453);');
node_shader_write(frag, 'float id_g = fract(sin(dot(vec2(obid * 20.0, obid), vec2(12.9898, 78.233))) * 43758.5453);');
node_shader_write(frag, 'float id_b = fract(sin(dot(vec2(obid, obid * 40.0), vec2(12.9898, 78.233))) * 43758.5453);');
node_shader_write(frag, 'fragColor[0] = vec4(id_r, id_g, id_b, 1.0);');
}
else if (context_raw.bake_type == bake_type_t.VERTEX_COLOR) {
if (con.allow_vcols) {
NodeShaderContext.add_elem(con, "col", "short4norm");
NodeShader.write(frag, 'fragColor[0] = vec4(vcolor.r, vcolor.g, vcolor.b, 1.0);');
node_shader_context_add_elem(con, "col", "short4norm");
node_shader_write(frag, 'fragColor[0] = vec4(vcolor.r, vcolor.g, vcolor.b, 1.0);');
}
else {
NodeShader.write(frag, 'fragColor[0] = vec4(1.0, 1.0, 1.0, 1.0);');
node_shader_write(frag, 'fragColor[0] = vec4(1.0, 1.0, 1.0, 1.0);');
}
}
}

static position_normal = (vert: NodeShaderRaw, frag: NodeShaderRaw) => {
NodeShader.add_out(vert, 'vec3 position');
NodeShader.add_out(vert, 'vec3 normal');
NodeShader.add_uniform(vert, 'mat4 W', '_world_matrix');
NodeShader.write(vert, 'position = vec4(mul(vec4(pos.xyz, 1.0), W)).xyz;');
NodeShader.write(vert, 'normal = vec3(nor.xy, pos.w);');
NodeShader.write(vert, 'vec2 tpos = vec2(tex.x * 2.0 - 1.0, (1.0 - tex.y) * 2.0 - 1.0);');
NodeShader.write(vert, 'gl_Position = vec4(tpos, 0.0, 1.0);');
NodeShader.add_out(frag, 'vec4 fragColor[2]');
NodeShader.write(frag, 'fragColor[0] = vec4(position, 1.0);');
NodeShader.write(frag, 'fragColor[1] = vec4(normal, 1.0);');
static make_bake_position_normal = (vert: NodeShaderRaw, frag: NodeShaderRaw) => {
node_shader_add_out(vert, 'vec3 position');
node_shader_add_out(vert, 'vec3 normal');
node_shader_add_uniform(vert, 'mat4 W', '_world_matrix');
node_shader_write(vert, 'position = vec4(mul(vec4(pos.xyz, 1.0), W)).xyz;');
node_shader_write(vert, 'normal = vec3(nor.xy, pos.w);');
node_shader_write(vert, 'vec2 tpos = vec2(tex.x * 2.0 - 1.0, (1.0 - tex.y) * 2.0 - 1.0);');
node_shader_write(vert, 'gl_Position = vec4(tpos, 0.0, 1.0);');
node_shader_add_out(frag, 'vec4 fragColor[2]');
node_shader_write(frag, 'fragColor[0] = vec4(position, 1.0);');
node_shader_write(frag, 'fragColor[1] = vec4(normal, 1.0);');
}

static set_color_writes = (con_paint: NodeShaderContextRaw) => {
static make_bake_set_color_writes = (con_paint: NodeShaderContextRaw) => {
// Bake into base color, disable other slots
con_paint.data.color_writes_red[1] = false;
con_paint.data.color_writes_green[1] = false;
Expand All @@ -148,7 +148,7 @@ class MakeBake {
con_paint.data.color_writes_alpha[2] = false;
}

static axis_string = (i: i32): string => {
static make_bake_axis_string = (i: i32): string => {
return i == bake_axis_t.X ? "vec3(1,0,0)" :
i == bake_axis_t.Y ? "vec3(0,1,0)" :
i == bake_axis_t.Z ? "vec3(0,0,1)" :
Expand Down
Loading

0 comments on commit 3132882

Please sign in to comment.