basilisk-engine 0.2.8__cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. basilisk/__init__.py +1 -0
  2. basilisk/basilisk/__init__.pyi +472 -0
  3. basilisk/basilisk/forces.pyi +90 -0
  4. basilisk/basilisk.cpython-313-x86_64-linux-gnu.so +0 -0
  5. basilisk/basilisk.pyi +536 -0
  6. basilisk/shaders/default.frag +15 -0
  7. basilisk/shaders/default.vert +19 -0
  8. basilisk/shaders/default2D.frag +11 -0
  9. basilisk/shaders/default2D.vert +16 -0
  10. basilisk/shaders/frame.frag +11 -0
  11. basilisk/shaders/frame.vert +11 -0
  12. basilisk/shaders/include/blinn_phong.glsl +35 -0
  13. basilisk/shaders/include/light.glsl +28 -0
  14. basilisk/shaders/include/material.glsl +52 -0
  15. basilisk/shaders/include/texture.glsl +11 -0
  16. basilisk/shaders/instance.frag +38 -0
  17. basilisk/shaders/instance.vert +27 -0
  18. basilisk/shaders/instance2D.frag +14 -0
  19. basilisk/shaders/instance2D.vert +20 -0
  20. basilisk/shaders/test.frag +16 -0
  21. basilisk/shaders/test.vert +12 -0
  22. basilisk_engine-0.2.8.dist-info/METADATA +86 -0
  23. basilisk_engine-0.2.8.dist-info/RECORD +36 -0
  24. basilisk_engine-0.2.8.dist-info/WHEEL +6 -0
  25. basilisk_engine-0.2.8.dist-info/sboms/auditwheel.cdx.json +1 -0
  26. basilisk_engine.libs/libGLX-c14481bc.so.0.0.0 +0 -0
  27. basilisk_engine.libs/libGLdispatch-64b28464.so.0.0.0 +0 -0
  28. basilisk_engine.libs/libOpenGL-4c5f8d52.so.0.0.0 +0 -0
  29. include/GLFW/glfw3.h +5912 -0
  30. include/GLFW/glfw3native.h +628 -0
  31. lib64/cmake/glfw3/glfw3Config.cmake +1 -0
  32. lib64/cmake/glfw3/glfw3ConfigVersion.cmake +65 -0
  33. lib64/cmake/glfw3/glfw3Targets-release.cmake +19 -0
  34. lib64/cmake/glfw3/glfw3Targets.cmake +107 -0
  35. lib64/libglfw3.a +0 -0
  36. lib64/pkgconfig/glfw3.pc +13 -0
@@ -0,0 +1,52 @@
1
+ #version 330
2
+
3
+ uniform samplerBuffer materials;
4
+
5
+ struct Material {
6
+ vec3 color;
7
+
8
+ uint albedoArray;
9
+ uint albedoIndex;
10
+ uint normalArray;
11
+ uint normalIndex;
12
+
13
+ float roughness;
14
+ float subsurface;
15
+ float sheen;
16
+ float sheenTint;
17
+ float anisotropic;
18
+ float specular;
19
+ float metallicness;
20
+ float clearcoat;
21
+ float clearcoatGloss;
22
+ };
23
+
24
+ Material getMaterial(int index) {
25
+ Material m;
26
+
27
+ int N = 4; // N = (number of floats per material / 4)
28
+ int base = index * N;
29
+
30
+ vec4 v0 = texelFetch(materials, base + 0);
31
+ vec4 v1 = texelFetch(materials, base + 1);
32
+ vec4 v2 = texelFetch(materials, base + 2);
33
+ vec4 v3 = texelFetch(materials, base + 3);
34
+
35
+ // Unpack to struct fields:
36
+ m.color = v0.rgb;
37
+ m.albedoArray = floatBitsToUint(v0.a);
38
+ m.albedoIndex = floatBitsToUint(v1.x);
39
+ m.normalArray = floatBitsToUint(v1.y);
40
+ m.normalIndex = floatBitsToUint(v1.z);
41
+ m.roughness = v1.w;
42
+ m.subsurface = v2.x;
43
+ m.sheen = v2.y;
44
+ m.sheenTint = v2.z;
45
+ m.anisotropic = v2.w;
46
+ m.specular = v3.x;
47
+ m.metallicness = v3.y;
48
+ m.clearcoat = v3.z;
49
+ m.clearcoatGloss= v3.w;
50
+
51
+ return m;
52
+ }
@@ -0,0 +1,11 @@
1
+ #include "material.glsl"
2
+
3
+ struct textArray {
4
+ sampler2DArray array;
5
+ };
6
+
7
+ uniform textArray textureArrays[4];
8
+
9
+ vec4 getTextureValue(Material material, vec2 uv) {
10
+ return texture(textureArrays[material.albedoArray].array, vec3(uv, material.albedoIndex));
11
+ }
@@ -0,0 +1,38 @@
1
+ #version 330 core
2
+
3
+ #include "include/material.glsl"
4
+ #include "include/texture.glsl"
5
+ #include "include/light.glsl"
6
+ #include "include/blinn_phong.glsl"
7
+
8
+ in vec3 position;
9
+ in vec2 uv;
10
+ in vec3 normal;
11
+ flat in Material material;
12
+
13
+ uniform sampler2D uTexture;
14
+ uniform vec3 uCameraPosition;
15
+ uniform vec3 uViewDirection;
16
+
17
+ out vec4 fragColor;
18
+
19
+ void main() {
20
+ vec4 textureColor = getTextureValue(material, uv);
21
+
22
+ vec3 N = normalize(normal);
23
+ vec3 V = normalize(uCameraPosition - position);
24
+
25
+ vec3 directionalLightColor = vec3(0.0, 0.0, 0.0);
26
+ for (int i = 0; i < uDirectionalLightCount; i++) {
27
+ DirectionalLight directionalLight = directionalLights[i];
28
+ directionalLightColor += calculateDirectionalLight(directionalLight, N, V);
29
+ }
30
+ vec3 pointLightColor = vec3(0.0, 0.0, 0.0);
31
+ for (int i = 0; i < uPointLightCount; i++) {
32
+ PointLight pointLight = pointLights[i];
33
+ pointLightColor += calculatePointLight(pointLight, position, N, V);
34
+ }
35
+ vec3 ambientColor = ambientLight.color;
36
+
37
+ fragColor = vec4((directionalLightColor + pointLightColor + ambientColor) * textureColor.rgb, textureColor.a);
38
+ }
@@ -0,0 +1,27 @@
1
+ #version 330 core
2
+
3
+ #include "include/material.glsl"
4
+
5
+ layout (location = 0) in vec3 vPosition;
6
+ layout (location = 1) in vec2 vUV;
7
+ layout (location = 2) in vec3 vNormal;
8
+
9
+
10
+ uniform mat4 uModel;
11
+ uniform mat4 uView;
12
+ uniform mat4 uProjection;
13
+ uniform int uMaterialID;
14
+
15
+ out vec3 position;
16
+ out vec2 uv;
17
+ out vec3 normal;
18
+ flat out Material material;
19
+
20
+ void main() {
21
+ position = vPosition;
22
+ uv = vUV;
23
+ normal = vNormal;
24
+ material = getMaterial(uMaterialID);
25
+
26
+ gl_Position = uProjection * uView * uModel * vec4(vPosition, 1.0);
27
+ }
@@ -0,0 +1,14 @@
1
+ #version 330 core
2
+
3
+ #include "include/material.glsl"
4
+ #include "include/texture.glsl"
5
+
6
+ in vec2 uv;
7
+ flat in Material material;
8
+ out vec4 fragColor;
9
+
10
+ void main() {
11
+ vec4 textureColor = getTextureValue(material, uv);
12
+ if (textureColor.a <= 0.01) { discard; }
13
+ fragColor = textureColor;
14
+ }
@@ -0,0 +1,20 @@
1
+ #version 330 core
2
+
3
+ layout (location = 0) in vec3 vPosition;
4
+ layout (location = 1) in vec2 vUV;
5
+
6
+ #include "include/material.glsl"
7
+
8
+ uniform mat4 uModel;
9
+ uniform mat4 uView;
10
+ uniform mat4 uProjection;
11
+ uniform int uMaterialID;
12
+
13
+ out vec2 uv;
14
+ flat out Material material;
15
+
16
+ void main() {
17
+ uv = vUV;
18
+ material = getMaterial(uMaterialID);
19
+ gl_Position = uProjection * uView * uModel * vec4(vPosition, 1.0);
20
+ }
@@ -0,0 +1,16 @@
1
+ #version 330 core
2
+
3
+ struct Color {
4
+ vec4 value;
5
+ };
6
+
7
+ layout (std140) uniform testBlock {
8
+ Color colors[2];
9
+ };
10
+
11
+ in vec2 uv;
12
+ out vec4 fragColor;
13
+
14
+ void main() {
15
+ fragColor = vec4(vec3(1.0, uv), 1.0) * colors[1].value;
16
+ }
@@ -0,0 +1,12 @@
1
+ #version 330 core
2
+
3
+ layout (location = 0) in vec3 vPosition;
4
+ layout (location = 1) in vec2 vUV;
5
+
6
+ out vec2 uv;
7
+
8
+ void main() {
9
+ uv = vUV;
10
+
11
+ gl_Position = vec4(vPosition, 1.0);
12
+ }
@@ -0,0 +1,86 @@
1
+ Metadata-Version: 2.2
2
+ Name: basilisk-engine
3
+ Version: 0.2.8
4
+ Summary: Python bindings for the Basilisk C++ library
5
+ Keywords: graphics,game-engine,3d,2d,opengl,physics,simulation,rendering
6
+ Author-Email: Jonah Coffelt <coffelt.jonah0918@gmail.com>, Isaac Lagoy <isaacblagoy@gmail.com>
7
+ Maintainer-Email: Jonah Coffelt <coffelt.jonah0918@gmail.com>, Isaac Lagoy <isaacblagoy@gmail.com>
8
+ License: MIT
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: MacOS :: MacOS X
13
+ Classifier: Operating System :: Microsoft :: Windows
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: C++
21
+ Classifier: Topic :: Multimedia :: Graphics
22
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
+ Classifier: Topic :: Games/Entertainment
24
+ Project-URL: Homepage, https://github.com/BasiliskGroup/BasiliskEngine
25
+ Project-URL: Repository, https://github.com/BasiliskGroup/BasiliskEngine
26
+ Project-URL: Documentation, https://github.com/BasiliskGroup/BasiliskEngine#readme
27
+ Project-URL: Bug Tracker, https://github.com/BasiliskGroup/BasiliskEngine/issues
28
+ Requires-Python: >=3.9
29
+ Description-Content-Type: text/markdown
30
+
31
+ # Basilisk Engine
32
+
33
+ ## Building and Running the Project
34
+
35
+ To build this project from source, you'll use **CMake**. Follow these steps from the command line:
36
+
37
+ 1. First, navigate to the `build` directory:
38
+ ```bash
39
+ cd build
40
+ ```
41
+ 2. Next, run CMake to configure the project. This generates the necessary build files for your system.
42
+ ```bash
43
+ cmake ..
44
+ ```
45
+ 3. Then, use CMake to build the project. This compiles the source code and creates the executable file.
46
+ ```bash
47
+ cmake --build .
48
+ ```
49
+
50
+ Once the build is complete, you can run the final program with this command:
51
+
52
+ ```bash
53
+ ./render
54
+ ```
55
+
56
+ ## steps for publishing wheels
57
+
58
+ ```
59
+ cmake .. (from build)
60
+ cmake --build build (from root)
61
+ cmake --install build --prefix ./python
62
+ pip install build (run once)
63
+ python -m build
64
+ ```
65
+
66
+ # Todo
67
+
68
+ ## Rendering
69
+ - [ ] Lighting System
70
+ - [ ] Directional
71
+ - [ ] Point
72
+ - [ ] Spot
73
+ - [ ] Ambient
74
+ - [ ] Skybox
75
+ - [ ] Shadows
76
+ - [ ] Basic PBR
77
+ - [ ] Bloom
78
+ - [ ] Text Rendering
79
+ - [ ] SSAO
80
+
81
+ ## Optimizations
82
+ - [ ] Frustum Culling
83
+ - [ ] Auto LOD (meshoptimizer)
84
+ - [ ] Instancing (After and with previous)
85
+
86
+ ## Physics
@@ -0,0 +1,36 @@
1
+ basilisk/__init__.py,sha256=g6GcpCfuqYyIQ06RyFedldVWs-Ghrcu3oJoece8HLkI,23
2
+ basilisk/basilisk.cpython-313-x86_64-linux-gnu.so,sha256=vHQ2wloTyVzWE6hrcbRAWbkKRpOxPXCH_BPxw2WH8sE,12280521
3
+ basilisk/basilisk.pyi,sha256=2Lku8hsIZDZoUOKOfiyFi0sC_KdHgIEsr7mI3rwLh5U,17018
4
+ basilisk/basilisk/__init__.pyi,sha256=plqgP_58grDRT56-3pPwSQVbA2I1CZOxaG0EOG64_nc,15263
5
+ basilisk/basilisk/forces.pyi,sha256=T-E1AGuM_xX0m7udHd1yJd40noU4a1FlaI8oJ42Zv_o,2799
6
+ basilisk/shaders/default.frag,sha256=oh9VvhC879Q9pdKHckY0k2YSU1j0Pjan0-pM3_nA50c,278
7
+ basilisk/shaders/default.vert,sha256=SXGhxEbqm8pscfRcEItG2mC0_lrGjHzx4VZyKgnoblw,358
8
+ basilisk/shaders/default2D.frag,sha256=6ytl7pPzJXGVpdgFzgigp1tjR2pSH1Y0pkDy-MjLzDU,137
9
+ basilisk/shaders/default2D.vert,sha256=LXHmC24RUImAkScyCKYsByGZjGgo5gkugBFgMHEzU3c,280
10
+ basilisk/shaders/frame.frag,sha256=6ytl7pPzJXGVpdgFzgigp1tjR2pSH1Y0pkDy-MjLzDU,137
11
+ basilisk/shaders/frame.vert,sha256=tuJhU4Baoex7QGheaOvFLkp-4izkHG0i-aCP_Hk1K0s,185
12
+ basilisk/shaders/instance.frag,sha256=ierdSME42MUZCnoVpAo6rdnJXWGYMxfmVyjOpcYk7Vs,1151
13
+ basilisk/shaders/instance.vert,sha256=UKXcRaEGJt9ppC9mO29mcL01-xTDgJunqokbwm38aME,532
14
+ basilisk/shaders/instance2D.frag,sha256=3EGAEaV54NK2PFoPyXCErw2WQSWUVHN3Nig4E3JwUcI,290
15
+ basilisk/shaders/instance2D.vert,sha256=aZADfLgkQki8Z7P91HNxQ3u8sis4aqt8okMKNbF-B4s,407
16
+ basilisk/shaders/test.frag,sha256=KKTp258NkFSYunZ61aZqNwGYlUyHTa_UUFJaiE3BvMo,223
17
+ basilisk/shaders/test.vert,sha256=KbhcNQ1Mr0fU6-acrwcD20Mak2y9ysbXfmCCmx4VllE,181
18
+ basilisk/shaders/include/blinn_phong.glsl,sha256=pIL6wfuOReApQC7wgSint4Bjp-kjxCD-0trDy6xX7tc,1123
19
+ basilisk/shaders/include/light.glsl,sha256=3kSoTVzc6XXx4FHbwynAa5avSnQF8efY59-O-BoZngc,531
20
+ basilisk/shaders/include/material.glsl,sha256=6VZsWsyQ2g7wFJ4sJRwRYDaw7crwfm_PJ-ivUYHYE9I,1207
21
+ basilisk/shaders/include/texture.glsl,sha256=YMBVBtj3G9I-lyYO66H4UVajpsMVkF0bKteGWb_OVEU,260
22
+ basilisk_engine.libs/libGLX-c14481bc.so.0.0.0,sha256=pMvqlriclWgNVozAieTroAvAjlzm3yvxvoRrMqrRJKM,149241
23
+ basilisk_engine.libs/libGLdispatch-64b28464.so.0.0.0,sha256=JpMX3cNwZsPkTrHXE_kMvkLjSZT8WEFtZ_bn0CmwmbQ,772241
24
+ basilisk_engine.libs/libOpenGL-4c5f8d52.so.0.0.0,sha256=DKIn1FIBPjx_GLrCBaVj9A8jpcu8Xq3BG3c9tcvRIHg,227953
25
+ include/GLFW/glfw3.h,sha256=CZKjDwHrqkHDLz8FiOlClhq7ippSyodkvTLuTX1xpG0,215860
26
+ include/GLFW/glfw3native.h,sha256=sFycBNo_U06EjiGuJsuUp-UGJ0sQHAqnESaPE3sRxss,20034
27
+ lib64/libglfw3.a,sha256=lEPGydItQQwr-T4MA_y1l6bak_3hgCyMUWXv3p78M68,432916
28
+ lib64/cmake/glfw3/glfw3Config.cmake,sha256=7myl65bLoQkelmVugKtPG57RuKUaiGmyhwjOWuSy8p0,56
29
+ lib64/cmake/glfw3/glfw3ConfigVersion.cmake,sha256=44h7SRLq0LgdtbGC2SuOcgvcbm3AnV8k2LEPuKJS4eo,2762
30
+ lib64/cmake/glfw3/glfw3Targets-release.cmake,sha256=mnOV8vVnFSe1RB29qJvgwuoJYG7ETSDfikj8Bo6iGFM,793
31
+ lib64/cmake/glfw3/glfw3Targets.cmake,sha256=eyPpCnBPKVWy8ysNYv2SZfxlZf7UTg58NFiUH9HcBhU,4180
32
+ lib64/pkgconfig/glfw3.pc,sha256=TuxEJXai14sCbJHo-JxCXhqxAB_jRsFw3LLEH_obBAg,377
33
+ basilisk_engine-0.2.8.dist-info/METADATA,sha256=_21Vz9ZK3yELxv_c0EDPhMr-j_V2b-Z78IWEGuyMOy8,2626
34
+ basilisk_engine-0.2.8.dist-info/WHEEL,sha256=ccSgh8O0K9LcM8I3mMdS9Lo8IIvPXe3ZhduPDCV2uAE,157
35
+ basilisk_engine-0.2.8.dist-info/RECORD,,
36
+ basilisk_engine-0.2.8.dist-info/sboms/auditwheel.cdx.json,sha256=6MD1pa4IPl2FCMml3mhLBJ9tl7231ccXOcgscYSgAHI,2435
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: scikit-build-core 0.11.6
3
+ Root-Is-Purelib: false
4
+ Tag: cp313-cp313-manylinux_2_27_x86_64
5
+ Tag: cp313-cp313-manylinux_2_28_x86_64
6
+
@@ -0,0 +1 @@
1
+ {"bomFormat": "CycloneDX", "specVersion": "1.4", "version": 1, "metadata": {"component": {"type": "library", "bom-ref": "pkg:pypi/basilisk_engine@0.2.8?file_name=basilisk_engine-0.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", "name": "basilisk_engine", "version": "0.2.8", "purl": "pkg:pypi/basilisk_engine@0.2.8?file_name=basilisk_engine-0.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"}, "tools": [{"name": "auditwheel", "version": "6.6.0"}]}, "components": [{"type": "library", "bom-ref": "pkg:pypi/basilisk_engine@0.2.8?file_name=basilisk_engine-0.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", "name": "basilisk_engine", "version": "0.2.8", "purl": "pkg:pypi/basilisk_engine@0.2.8?file_name=basilisk_engine-0.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"}, {"type": "library", "bom-ref": "pkg:rpm/almalinux/libglvnd-opengl@1.3.4-2.el8#077b8a890eed74ffe617d8b189b35e17357f648d0cd3693841edbe11b66b67c9", "name": "libglvnd-opengl", "version": "1.3.4-2.el8", "purl": "pkg:rpm/almalinux/libglvnd-opengl@1.3.4-2.el8"}, {"type": "library", "bom-ref": "pkg:rpm/almalinux/libglvnd@1.3.4-2.el8#8c19b09f35886593a30b43d708aa096d9561cd0fb7845b0460d37787587c2fd6", "name": "libglvnd", "version": "1.3.4-2.el8", "purl": "pkg:rpm/almalinux/libglvnd@1.3.4-2.el8"}, {"type": "library", "bom-ref": "pkg:rpm/almalinux/libglvnd-glx@1.3.4-2.el8#f95d8da1f947a7f81e3596c0f9e51da562f468ed02d453558cc900f1fb1ca039", "name": "libglvnd-glx", "version": "1.3.4-2.el8", "purl": "pkg:rpm/almalinux/libglvnd-glx@1.3.4-2.el8"}], "dependencies": [{"ref": "pkg:pypi/basilisk_engine@0.2.8?file_name=basilisk_engine-0.2.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", "dependsOn": ["pkg:rpm/almalinux/libglvnd-opengl@1.3.4-2.el8#077b8a890eed74ffe617d8b189b35e17357f648d0cd3693841edbe11b66b67c9", "pkg:rpm/almalinux/libglvnd@1.3.4-2.el8#8c19b09f35886593a30b43d708aa096d9561cd0fb7845b0460d37787587c2fd6", "pkg:rpm/almalinux/libglvnd-glx@1.3.4-2.el8#f95d8da1f947a7f81e3596c0f9e51da562f468ed02d453558cc900f1fb1ca039"]}, {"ref": "pkg:rpm/almalinux/libglvnd-opengl@1.3.4-2.el8#077b8a890eed74ffe617d8b189b35e17357f648d0cd3693841edbe11b66b67c9"}, {"ref": "pkg:rpm/almalinux/libglvnd@1.3.4-2.el8#8c19b09f35886593a30b43d708aa096d9561cd0fb7845b0460d37787587c2fd6"}, {"ref": "pkg:rpm/almalinux/libglvnd-glx@1.3.4-2.el8#f95d8da1f947a7f81e3596c0f9e51da562f468ed02d453558cc900f1fb1ca039"}]}