small camera

This commit is contained in:
EvilMuffinHa 2020-05-27 11:49:28 -04:00
parent 1285842b55
commit 5ae985ced9
9 changed files with 211 additions and 27 deletions

View File

@ -8,6 +8,5 @@
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="lwjgl-release-3.2" level="project" /> <orderEntry type="library" name="lwjgl-release-3.2" level="project" />
<orderEntry type="library" name="commons-io-2" level="project" />
</component> </component>
</module> </module>

View File

@ -0,0 +1,152 @@
<component name="ArtifactManager">
<artifact type="jar" name="Helium-Engine:jar">
<output-path>$PROJECT_DIR$/out/artifacts/Helium_Engine_jar</output-path>
<root id="archive" name="Helium-Engine.jar">
<element id="module-output" name="Helium-Engine" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/joml-1.9.24.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-egl.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-lz4.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nfd.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-par.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-sse.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-stb.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-vma.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-bgfx.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-cuda.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-glfw.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-jawt.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-llvm.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-lmdb.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-meow.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-odbc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opus.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-yoga.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-zstd.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-assimp.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nanovg.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-openal.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opencl.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opengl.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-openvr.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tinyfd.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tootle.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-vulkan.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-xxhash.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nuklear.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-shaderc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tinyexr.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-jemalloc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opengles.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-remotery.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-rpmalloc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-libdivide.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-egl-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-egl-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-lz4-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-lz4-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nfd-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nfd-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-par-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-par-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-sse-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-sse-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-stb-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-stb-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-vma-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-vma-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-bgfx-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-bgfx-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-cuda-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-cuda-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-glfw-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-glfw-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-jawt-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-jawt-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-llvm-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-llvm-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-lmdb-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-lmdb-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-meow-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-meow-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-odbc-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-odbc-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opus-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opus-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-yoga-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-yoga-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-zstd-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-zstd-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-assimp-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-assimp-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nanovg-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nanovg-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-openal-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-openal-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opencl-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opencl-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opengl-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opengl-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-openvr-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-openvr-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tinyfd-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tinyfd-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tootle-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tootle-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-vulkan-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-vulkan-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-xxhash-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-xxhash-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nuklear-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nuklear-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-shaderc-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-shaderc-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tinyexr-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tinyexr-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-jemalloc-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-jemalloc-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opengles-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opengles-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-remotery-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-remotery-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-rpmalloc-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-rpmalloc-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-libdivide-javadoc.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-libdivide-sources.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-lz4-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nfd-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-par-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-sse-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-stb-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-vma-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-bgfx-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-glfw-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-llvm-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-lmdb-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-meow-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opus-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-yoga-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-zstd-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-assimp-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nanovg-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-openal-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opengl-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-openvr-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tinyfd-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tootle-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-vulkan-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-xxhash-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-nuklear-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-shaderc-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-tinyexr-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-jemalloc-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-opengles-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-remotery-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-rpmalloc-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$USER_HOME$/Downloads/lwjgl-release-3.2.3-custom/lwjgl-libdivide-natives-macos.jar" path-in-jar="/" />
</root>
</artifact>
</component>

View File

@ -1,15 +0,0 @@
<component name="libraryTable">
<library name="commons-io-2">
<CLASSES>
<root url="file://$USER_HOME$/Downloads/commons-io-2.6" />
</CLASSES>
<JAVADOC>
<root url="file://$USER_HOME$/Downloads/commons-io-2.6/docs" />
</JAVADOC>
<SOURCES>
<root url="file://$USER_HOME$/Downloads/commons-io-2.6" />
</SOURCES>
<jarDirectory url="file://$USER_HOME$/Downloads/commons-io-2.6" recursive="false" />
<jarDirectory url="file://$USER_HOME$/Downloads/commons-io-2.6" recursive="false" type="SOURCES" />
</library>
</component>

View File

@ -3,6 +3,7 @@ import org.hl.engine.io.Display;
import org.hl.engine.io.Input; import org.hl.engine.io.Input;
import org.hl.engine.math.lalg.Vector3f; import org.hl.engine.math.lalg.Vector3f;
import org.hl.engine.math.lalg.Vector2f; import org.hl.engine.math.lalg.Vector2f;
import org.hl.engine.objects.Camera;
import org.hl.engine.objects.GameObject; import org.hl.engine.objects.GameObject;
import org.lwjgl.glfw.GLFW; import org.lwjgl.glfw.GLFW;
@ -29,9 +30,9 @@ public class Test extends Game {
}, new Material(new Texture("resources/textures/b.png"))); }, new Material(new Texture("resources/textures/b.png")));
public GameObject testObject = new GameObject(mesh, new Vector3f(0, 0, -1), new Vector3f(0, 0, 0), new Vector3f(1, 1, 1)); public GameObject testObject = new GameObject(mesh, new Vector3f(0, 0, 0 ), new Vector3f(0, 0, 0), new Vector3f(1, 1, 1));
public Camera camera = new Camera(new Vector3f(0, 0, 1), new Vector3f(0, 0, 0));
public void run() throws Exception { public void run() throws Exception {
setup(); setup();
@ -59,7 +60,7 @@ public class Test extends Game {
// rendering the mesh // rendering the mesh
renderer.renderMesh(testObject); renderer.renderMesh(testObject, camera);
//swap buffers so the new one will appear //swap buffers so the new one will appear
display.swapBuffers(); display.swapBuffers();
} }

View File

@ -2,6 +2,7 @@ package org.hl.engine.graphics;
import org.hl.engine.io.Display; import org.hl.engine.io.Display;
import org.hl.engine.math.lalg.Matrix4f; import org.hl.engine.math.lalg.Matrix4f;
import org.hl.engine.objects.Camera;
import org.hl.engine.objects.GameObject; import org.hl.engine.objects.GameObject;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL13; import org.lwjgl.opengl.GL13;
@ -18,7 +19,7 @@ public class Renderer {
this.display = display; this.display = display;
} }
public void renderMesh(GameObject object) { public void renderMesh(GameObject object, Camera camera) {
// Renders the mesh by drawing it using triangles (least complicated) // Renders the mesh by drawing it using triangles (least complicated)
GL30.glBindVertexArray(object.getMesh().getVertexArrayObject()); GL30.glBindVertexArray(object.getMesh().getVertexArrayObject());
@ -35,6 +36,7 @@ public class Renderer {
shader.setUniform("model", Matrix4f.transform(object.getPosition(), object.getRotation(), object.getScale())); shader.setUniform("model", Matrix4f.transform(object.getPosition(), object.getRotation(), object.getScale()));
shader.setUniform("projection", display.getProjectionMatrix()); shader.setUniform("projection", display.getProjectionMatrix());
shader.setUniform("view", Matrix4f.view(camera.getPosition(), camera.getRotation()));
GL11.glDrawElements(GL11.GL_TRIANGLES, object.getMesh().getIndices().length, GL11.GL_UNSIGNED_INT, 0); GL11.glDrawElements(GL11.GL_TRIANGLES, object.getMesh().getIndices().length, GL11.GL_UNSIGNED_INT, 0);

View File

@ -1,5 +1,7 @@
package org.hl.engine.math.lalg; package org.hl.engine.math.lalg;
public class Matrix4f { public class Matrix4f {
public static final int SIZE = 4; public static final int SIZE = 4;
private float[][] elements = new float[SIZE][SIZE]; private float[][] elements = new float[SIZE][SIZE];
@ -21,8 +23,7 @@ public class Matrix4f {
{0 , 0 , 1 , 0}, {0 , 0 , 1 , 0},
{0 , 0 , 0 , 1} {0 , 0 , 0 , 1}
}; };
Matrix4f identity = new Matrix4f(identityArray); return new Matrix4f(identityArray);
return identity;
} }
public static Matrix4f translate(Vector3f translate) { public static Matrix4f translate(Vector3f translate) {
@ -49,8 +50,7 @@ public class Matrix4f {
{z*x*C-y*sin , z*y*C + x*sin , cos + z*z*C , 0}, {z*x*C-y*sin , z*y*C + x*sin , cos + z*z*C , 0},
{0 , 0 , 0 , 1} {0 , 0 , 0 , 1}
}; };
Matrix4f result = new Matrix4f(rotArray); return new Matrix4f(rotArray);
return result;
} }
public static Matrix4f scale(Vector3f scaleVec) { public static Matrix4f scale(Vector3f scaleVec) {
@ -80,6 +80,20 @@ public class Matrix4f {
return result; return result;
} }
public static Matrix4f view(Vector3f position, Vector3f rotation) {
Vector3f negative = new Vector3f(-position.getX(), -position.getY(), -position.getZ());
Matrix4f translationMatrix = Matrix4f.translate(negative);
Matrix4f rotationXMatrix = Matrix4f.rotate(rotation.getX(), new Vector3f(1, 0, 0));
Matrix4f rotationYMatrix = Matrix4f.rotate(rotation.getY(), new Vector3f(0, 1, 0));
Matrix4f rotationZMatrix = Matrix4f.rotate(rotation.getZ(), new Vector3f(0, 0, 1));
Matrix4f rotMat = Matrix4f.multiply(rotationZMatrix, Matrix4f.multiply(rotationYMatrix, rotationXMatrix));
return Matrix4f.multiply(translationMatrix, rotMat);
}
public static Matrix4f multiply(Matrix4f first, Matrix4f second) { public static Matrix4f multiply(Matrix4f first, Matrix4f second) {
Matrix4f result = Matrix4f.identity(); Matrix4f result = Matrix4f.identity();
@ -112,7 +126,6 @@ public class Matrix4f {
} }
public static Matrix4f transform(Vector3f position, Vector3f rotation, Vector3f scale) { public static Matrix4f transform(Vector3f position, Vector3f rotation, Vector3f scale) {
Matrix4f result = identity();
Matrix4f translationMatrix = Matrix4f.translate(position); Matrix4f translationMatrix = Matrix4f.translate(position);
Matrix4f rotationXMatrix = Matrix4f.rotate(rotation.getX(), new Vector3f(1, 0, 0)); Matrix4f rotationXMatrix = Matrix4f.rotate(rotation.getX(), new Vector3f(1, 0, 0));
Matrix4f rotationYMatrix = Matrix4f.rotate(rotation.getY(), new Vector3f(0, 1, 0)); Matrix4f rotationYMatrix = Matrix4f.rotate(rotation.getY(), new Vector3f(0, 1, 0));

View File

@ -0,0 +1,30 @@
package org.hl.engine.objects;
import org.hl.engine.graphics.Mesh;
import org.hl.engine.math.lalg.Vector3f;
public class Camera{
private Vector3f position;
private Vector3f rotation;
public Camera(Vector3f position, Vector3f rotation) {
this.position = position;
this.rotation = rotation;
}
public Vector3f getPosition() {
return position;
}
public void setPosition(Vector3f position) {
this.position = position;
}
public Vector3f getRotation() {
return rotation;
}
public void setRotation(Vector3f rotation) {
this.rotation = rotation;
}
}

View File

@ -15,7 +15,8 @@ public class GameObject {
} }
public void update() { public void update() {
position.add(0, 0, -0.1F); position.add(0, 0, -0.01F);
rotation.add(0, 0.001F, 0);
} }
public Vector3f getPosition() { public Vector3f getPosition() {

View File

@ -5,6 +5,7 @@ layout(location = 1) in vec3 color;
layout(location = 2) in vec2 textureCoord; layout(location = 2) in vec2 textureCoord;
uniform mat4 model; uniform mat4 model;
uniform mat4 view;
uniform mat4 projection; uniform mat4 projection;
layout(location = 0) out vec3 passColor; layout(location = 0) out vec3 passColor;
@ -13,7 +14,7 @@ layout(location = 1) out vec2 passTextureCoord;
void main() { void main() {
gl_Position = projection * model * vec4(position, 1.0); gl_Position = model * view * projection * vec4(position, 1.0);
passColor = color; passColor = color;
passTextureCoord = textureCoord; passTextureCoord = textureCoord;