This commit is contained in:
luboslenco
2023-12-05 23:50:55 +01:00
parent 512e558b70
commit f63e7c32e6
47 changed files with 40 additions and 39 deletions
+1 -1
View File
@@ -36,7 +36,7 @@ strip ArmorLab
**macOS** *wip - apple silicon only* **macOS** *wip - apple silicon only*
```bash ```bash
cd ../armorcore cd ../armorcore
git apply patch/metal_raytrace.diff --directory=Kinc git apply Patches/metal_raytrace.diff --directory=Kinc
cd ../armorpaint cd ../armorpaint
../armorcore/Kinc/make --from ../armorcore -g metal ../armorcore/Kinc/make --from ../armorcore -g metal
cp -a build/krom/ ../armorcore/Deployment cp -a build/krom/ ../armorcore/Deployment
+2 -2
View File
@@ -99,12 +99,12 @@ class UINodesExt {
if (lastVertices == null || lastVertices.byteLength != vertices.byteLength) { if (lastVertices == null || lastVertices.byteLength != vertices.byteLength) {
lastVertices = new DataView(new ArrayBuffer(vertices.byteLength)); lastVertices = new DataView(new ArrayBuffer(vertices.byteLength));
for (i in 0...Std.int(vertices.byteLength / 2)) { for (i in 0...Std.int(vertices.byteLength / 2)) {
lastVertices.setInt16(i * 2, vertices.getInt16(i * 2), true); lastVertices.setInt16(i * 2, vertices.getInt16(i * 2, true), true);
} }
} }
else { else {
for (i in 0...Std.int(vertices.byteLength / 2)) { for (i in 0...Std.int(vertices.byteLength / 2)) {
vertices.setInt16(i * 2, lastVertices.getInt16(i * 2), true); vertices.setInt16(i * 2, lastVertices.getInt16(i * 2, true), true);
} }
} }
g.vertexBuffer.unlock(); g.vertexBuffer.unlock();
+7 -7
View File
@@ -34,7 +34,7 @@ strip ArmorPaint
**macOS** **macOS**
```bash ```bash
cd ../armorcore cd ../armorcore
git apply patch/metal_raytrace.diff --directory=Kinc git apply Patches/metal_raytrace.diff --directory=Kinc
cd ../armorpaint cd ../armorpaint
../armorcore/Kinc/make --from ../armorcore -g metal ../armorcore/Kinc/make --from ../armorcore -g metal
cp -a build/krom/ ../armorcore/Deployment cp -a build/krom/ ../armorcore/Deployment
@@ -46,7 +46,7 @@ cp -a build/krom/ ../armorcore/Deployment
**Android** *wip* **Android** *wip*
```bash ```bash
cd ../armorcore cd ../armorcore
git apply patch/android_document_picker.diff --directory=Kinc git apply Patches/android_document_picker.diff --directory=Kinc
cd ../armorpaint cd ../armorpaint
../armorcore/Kinc/make --from ../armorcore -g opengl android ../armorcore/Kinc/make --from ../armorcore -g opengl android
cp -r build/krom/* build/ArmorPaint/app/src/main/assets/ cp -r build/krom/* build/ArmorPaint/app/src/main/assets/
@@ -59,9 +59,9 @@ cp -r build/krom/* build/ArmorPaint/app/src/main/assets/
**iOS** *wip* **iOS** *wip*
```bash ```bash
cd ../armorcore cd ../armorcore
git apply patch/metal_raytrace.diff --directory=Kinc git apply Patches/metal_raytrace.diff --directory=Kinc
git apply patch/ios_document_picker.diff --directory=Kinc git apply Patches/ios_document_picker.diff --directory=Kinc
git apply patch/ios_pencil_hover.diff --directory=Kinc git apply Patches/ios_pencil_hover.diff --directory=Kinc
cd ../armorpaint cd ../armorpaint
../armorcore/Kinc/make --from ../armorcore -g metal ios ../armorcore/Kinc/make --from ../armorcore -g metal ios
cp -a build/krom/ ../armorcore/Deployment cp -a build/krom/ ../armorcore/Deployment
@@ -74,7 +74,7 @@ cp -a build/krom/ ../armorcore/Deployment
```bash ```bash
# Unpack `..\armorcore\v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB) # Unpack `..\armorcore\v8\libraries\win32\release\v8_monolith.7z` using 7-Zip - Extract Here (exceeds 100MB)
cd ..\armorcore cd ..\armorcore
git apply patch/d3d12_raytrace.diff --directory=Kinc git apply Patches/d3d12_raytrace.diff --directory=Kinc
cd ..\armorpaint cd ..\armorpaint
..\armorcore\Kinc\make --from ..\armorcore -g direct3d12 ..\armorcore\Kinc\make --from ..\armorcore -g direct3d12
# Open generated Visual Studio project at `build\ArmorPaint.sln` # Open generated Visual Studio project at `build\ArmorPaint.sln`
@@ -86,7 +86,7 @@ cd ..\armorpaint
```bash ```bash
git clone --recursive https://github.com/armory3d/glsl_to_spirv git clone --recursive https://github.com/armory3d/glsl_to_spirv
cd ../armorcore cd ../armorcore
git apply patch/vulkan_raytrace.diff --directory=Kinc git apply Patches/vulkan_raytrace.diff --directory=Kinc
cd ../armorpaint cd ../armorpaint
../armorcore/Kinc/make --from ../armorcore -g vulkan --compiler clang --compile ../armorcore/Kinc/make --from ../armorcore -g vulkan --compiler clang --compile
cd ../armorcore/Deployment cd ../armorcore/Deployment
+21 -21
View File
@@ -159,9 +159,9 @@ class MeshUtil {
va0[i * 4 + 3] = -va0[i * 4 + 3]; va0[i * 4 + 3] = -va0[i * 4 + 3];
va1[i * 2] = -va1[i * 2]; va1[i * 2] = -va1[i * 2];
va1[i * 2 + 1] = -va1[i * 2 + 1]; va1[i * 2 + 1] = -va1[i * 2 + 1];
vertices.setInt16((i * l + 3) * 2, -vertices.getInt16((i * l + 3) * 2), true); vertices.setInt16((i * l + 3) * 2, -vertices.getInt16((i * l + 3) * 2, true), true);
vertices.setInt16((i * l + 4) * 2, -vertices.getInt16((i * l + 4) * 2), true); vertices.setInt16((i * l + 4) * 2, -vertices.getInt16((i * l + 4) * 2, true), true);
vertices.setInt16((i * l + 5) * 2, -vertices.getInt16((i * l + 5) * 2), true); vertices.setInt16((i * l + 5) * 2, -vertices.getInt16((i * l + 5) * 2, true), true);
} }
g.vertexBuffer.unlock(); g.vertexBuffer.unlock();
} }
@@ -187,9 +187,9 @@ class MeshUtil {
var i1 = inda[i * 3 ]; var i1 = inda[i * 3 ];
var i2 = inda[i * 3 + 1]; var i2 = inda[i * 3 + 1];
var i3 = inda[i * 3 + 2]; var i3 = inda[i * 3 + 2];
va.set(vertices.getInt16((i1 * l) * 2), vertices.getInt16((i1 * l + 1) * 2), vertices.getInt16((i1 * l + 2) * 2)); va.set(vertices.getInt16((i1 * l) * 2, true), vertices.getInt16((i1 * l + 1) * 2, true), vertices.getInt16((i1 * l + 2) * 2, true));
vb.set(vertices.getInt16((i2 * l) * 2), vertices.getInt16((i2 * l + 1) * 2), vertices.getInt16((i2 * l + 2) * 2)); vb.set(vertices.getInt16((i2 * l) * 2, true), vertices.getInt16((i2 * l + 1) * 2, true), vertices.getInt16((i2 * l + 2) * 2, true));
vc.set(vertices.getInt16((i3 * l) * 2), vertices.getInt16((i3 * l + 1) * 2), vertices.getInt16((i3 * l + 2) * 2)); vc.set(vertices.getInt16((i3 * l) * 2, true), vertices.getInt16((i3 * l + 1) * 2, true), vertices.getInt16((i3 * l + 2) * 2, true));
cb.subvecs(vc, vb); cb.subvecs(vc, vb);
ab.subvecs(va, vb); ab.subvecs(va, vb);
cb.cross(ab); cb.cross(ab);
@@ -218,9 +218,9 @@ class MeshUtil {
var i2 = inda[j]; var i2 = inda[j];
var i1l = i1 * l; var i1l = i1 * l;
var i2l = i2 * l; var i2l = i2 * l;
if (vertices.getInt16((i1l ) * 2) == vertices.getInt16((i2l ) * 2) && if (vertices.getInt16((i1l ) * 2, true) == vertices.getInt16((i2l ) * 2, true) &&
vertices.getInt16((i1l + 1) * 2) == vertices.getInt16((i2l + 1) * 2) && vertices.getInt16((i1l + 1) * 2, true) == vertices.getInt16((i2l + 1) * 2, true) &&
vertices.getInt16((i1l + 2) * 2) == vertices.getInt16((i2l + 2) * 2)) { vertices.getInt16((i1l + 2) * 2, true) == vertices.getInt16((i2l + 2) * 2, true)) {
// if (n1.dot(n2) > 0) // if (n1.dot(n2) > 0)
shared[sharedLen++] = i2; shared[sharedLen++] = i2;
found.push(j); found.push(j);
@@ -232,7 +232,7 @@ class MeshUtil {
for (j in 0...sharedLen) { for (j in 0...sharedLen) {
var i1 = shared[j]; var i1 = shared[j];
var i1l = i1 * l; var i1l = i1 * l;
va.addf(vertices.getInt16((i1l + 4) * 2), vertices.getInt16((i1l + 5) * 2), vertices.getInt16((i1l + 3) * 2)); va.addf(vertices.getInt16((i1l + 4) * 2, true), vertices.getInt16((i1l + 5) * 2, true), vertices.getInt16((i1l + 3) * 2, true));
} }
va.mult(1 / sharedLen); va.mult(1 / sharedLen);
va.normalize(); va.normalize();
@@ -254,9 +254,9 @@ class MeshUtil {
var va0 = o.data.raw.vertex_arrays[0].values; var va0 = o.data.raw.vertex_arrays[0].values;
var va1 = o.data.raw.vertex_arrays[1].values; var va1 = o.data.raw.vertex_arrays[1].values;
for (i in 0...Std.int(vertices.byteLength / 4 / l)) { for (i in 0...Std.int(vertices.byteLength / 4 / l)) {
va1[i * 2 ] = vertices.getInt16((i * l + 4) * 2); va1[i * 2 ] = vertices.getInt16((i * l + 4) * 2, true);
va1[i * 2 + 1] = vertices.getInt16((i * l + 5) * 2); va1[i * 2 + 1] = vertices.getInt16((i * l + 5) * 2, true);
va0[i * 4 + 3] = vertices.getInt16((i * l + 3) * 2); va0[i * 4 + 3] = vertices.getInt16((i * l + 3) * 2, true);
} }
} }
@@ -336,22 +336,22 @@ class MeshUtil {
var l = g.structLength; var l = g.structLength;
var vertices = g.vertexBuffer.lock(); // posnortex var vertices = g.vertexBuffer.lock(); // posnortex
for (i in 0...Std.int(vertices.byteLength / 2 / l)) { for (i in 0...Std.int(vertices.byteLength / 2 / l)) {
var x = Std.int(vertices.getInt16((i * l + 6) * 2) / 32767 * res); var x = Std.int(vertices.getInt16((i * l + 6) * 2, true) / 32767 * res);
var y = Std.int(vertices.getInt16((i * l + 7) * 2) / 32767 * res); var y = Std.int(vertices.getInt16((i * l + 7) * 2, true) / 32767 * res);
var xx = Std.int(x * uvScale) % res; var xx = Std.int(x * uvScale) % res;
var yy = Std.int(y * uvScale) % res; var yy = Std.int(y * uvScale) % res;
var h = (1.0 - height.get((yy * res + xx) * 4 + 3) / 255) * strength; var h = (1.0 - height.get((yy * res + xx) * 4 + 3) / 255) * strength;
vertices.setInt16((i * l ) * 2, vertices.getInt16((i * l ) * 2) - Std.int(vertices.getInt16((i * l + 4) * 2) * h), true); vertices.setInt16((i * l ) * 2, vertices.getInt16((i * l ) * 2, true) - Std.int(vertices.getInt16((i * l + 4) * 2, true) * h), true);
vertices.setInt16((i * l + 1) * 2, vertices.getInt16((i * l + 1) * 2) - Std.int(vertices.getInt16((i * l + 5) * 2) * h), true); vertices.setInt16((i * l + 1) * 2, vertices.getInt16((i * l + 1) * 2, true) - Std.int(vertices.getInt16((i * l + 5) * 2, true) * h), true);
vertices.setInt16((i * l + 2) * 2, vertices.getInt16((i * l + 2) * 2) - Std.int(vertices.getInt16((i * l + 3) * 2) * h), true); vertices.setInt16((i * l + 2) * 2, vertices.getInt16((i * l + 2) * 2, true) - Std.int(vertices.getInt16((i * l + 3) * 2, true) * h), true);
} }
g.vertexBuffer.unlock(); g.vertexBuffer.unlock();
var va0 = o.data.raw.vertex_arrays[0].values; var va0 = o.data.raw.vertex_arrays[0].values;
for (i in 0...Std.int(vertices.byteLength / 4 / l)) { for (i in 0...Std.int(vertices.byteLength / 4 / l)) {
va0[i * 4 ] = vertices.getInt16((i * l ) * 2); va0[i * 4 ] = vertices.getInt16((i * l ) * 2, true);
va0[i * 4 + 1] = vertices.getInt16((i * l + 1) * 2); va0[i * 4 + 1] = vertices.getInt16((i * l + 1) * 2, true);
va0[i * 4 + 2] = vertices.getInt16((i * l + 2) * 2); va0[i * 4 + 2] = vertices.getInt16((i * l + 2) * 2, true);
} }
} }
+1 -1
View File
@@ -49,7 +49,7 @@ flags.on_c_project_created = async function(c_project, platform, graphics) {
} }
if (flags.with_plugin_embed) { if (flags.with_plugin_embed) {
await c_project.addProject("../" + dir + "/plugins"); await c_project.addProject("../" + dir + "/Plugins");
} }
}; };
+8 -5
View File
@@ -62,11 +62,14 @@ class Main {
text_handle.text = storage.text; text_handle.text = storage.text;
var ops: SystemOptions = { var ops: SystemOptions = {
title: "ArmorPad", title: "ArmorPad",
width: storage.window_w,
height: storage.window_h,
window: { window: {
x: storage.window_x, x: storage.window_x,
y: storage.window_y y: storage.window_y,
width: storage.window_w,
height: storage.window_h
},
framebuffer: {
samplesPerPixel: 1
} }
}; };
@@ -194,7 +197,7 @@ class Main {
} }
// Save // Save
if (ui.isCtrlDown && ui.key == kha.input.Keyboard.KeyCode.S) { if (ui.isCtrlDown && ui.key == iron.system.Input.KeyCode.S) {
save_file(); save_file();
} }
@@ -229,7 +232,7 @@ class Main {
} }
// Build project // Build project
if (ui.isCtrlDown && ui.key == kha.input.Keyboard.KeyCode.B) { if (ui.isCtrlDown && ui.key == iron.system.Input.KeyCode.B) {
save_file(); save_file();
build_project(); build_project();
} }
-2
View File
@@ -1,2 +0,0 @@
cd %1
..\..\armorcore\Kinc\make --from ..\..\armorcore -g direct3d11 --run
Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 KiB