basilisk-engine 0.0.3__tar.gz → 0.0.5__tar.gz
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.
Potentially problematic release.
This version of basilisk-engine might be problematic. Click here for more details.
- basilisk_engine-0.0.5/MANIFEST.in +2 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/PKG-INFO +1 -1
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/__init__.py +0 -1
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/collisions/collider.py +1 -2
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/collisions/collider_handler.py +3 -2
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/draw/font_renderer.py +1 -1
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/engine.py +5 -2
- basilisk_engine-0.0.5/basilisk/mesh/cube.py +16 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/nodes/node.py +1 -2
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk_engine.egg-info/PKG-INFO +1 -1
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk_engine.egg-info/SOURCES.txt +6 -1
- basilisk_engine-0.0.5/cloth.png +0 -0
- basilisk_engine-0.0.5/floor.png +0 -0
- basilisk_engine-0.0.5/foil.png +0 -0
- basilisk_engine-0.0.5/mud.png +0 -0
- basilisk_engine-0.0.5/screenshot.png +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/setup.py +2 -1
- basilisk_engine-0.0.3/basilisk/mesh/cube.py +0 -20
- basilisk_engine-0.0.3/basilisk/shaders/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/README.md +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/bsk_assets/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/collisions/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/collisions/broad/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/collisions/broad/broad_aabb.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/collisions/broad/broad_bvh.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/collisions/narrow/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/collisions/narrow/epa.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/collisions/narrow/gjk.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/collisions/narrow/helper.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/config.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/draw/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/draw/draw.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/draw/draw_handler.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/generic/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/generic/abstract_bvh.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/generic/collisions.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/generic/input_validation.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/generic/math.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/generic/matrices.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/generic/meshes.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/generic/quat.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/generic/quat_methods.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/generic/vec3.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/input/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/input/mouse.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/mesh/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/mesh/mesh.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/mesh/mesh_from_data.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/mesh/model.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/mesh/narrow_aabb.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/mesh/narrow_bvh.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/mesh/narrow_primative.py +0 -0
- {basilisk_engine-0.0.3/basilisk/mesh/built-in → basilisk_engine-0.0.5/basilisk/nodes}/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/nodes/node_handler.py +0 -0
- {basilisk_engine-0.0.3/basilisk/nodes → basilisk_engine-0.0.5/basilisk/physics}/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/physics/physics_body.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/physics/physics_engine.py +0 -0
- {basilisk_engine-0.0.3/basilisk/physics → basilisk_engine-0.0.5/basilisk/render}/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/batch.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/camera.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/chunk.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/chunk_handler.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/frame.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/image.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/image_handler.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/light.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/light_handler.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/material.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/material_handler.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/shader_handler.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/render/sky.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk/scene.py +0 -0
- {basilisk_engine-0.0.3/basilisk/render → basilisk_engine-0.0.5/basilisk/shaders}/__init__.py +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk_engine.egg-info/dependency_links.txt +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk_engine.egg-info/requires.txt +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk_engine.egg-info/top_level.txt +0 -0
- {basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/setup.cfg +0 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import glm
|
|
2
2
|
from ..generic.abstract_bvh import AbstractAABB as AABB
|
|
3
3
|
from ..generic.meshes import transform_points, get_aabb_surface_area
|
|
4
|
-
from ..mesh.cube import cube
|
|
5
4
|
from ..mesh.mesh import Mesh
|
|
6
5
|
|
|
7
6
|
class Collider():
|
|
@@ -39,7 +38,7 @@ class Collider():
|
|
|
39
38
|
def __init__(self, collider_handler, node, box_mesh: bool=False, static_friction: glm.vec3=0.7, kinetic_friction: glm.vec3=0.3, elasticity: glm.vec3=0.1, collision_group: str=None):
|
|
40
39
|
self.collider_handler = collider_handler
|
|
41
40
|
self.node = node
|
|
42
|
-
self.mesh = cube if box_mesh else self.node.mesh
|
|
41
|
+
self.mesh = self.collider_handler.cube if box_mesh else self.node.mesh
|
|
43
42
|
self.static_friction = static_friction
|
|
44
43
|
self.kinetic_friction = kinetic_friction
|
|
45
44
|
self.elasticity = elasticity
|
|
@@ -2,7 +2,7 @@ import glm
|
|
|
2
2
|
from .narrow.gjk import *
|
|
3
3
|
from .collider import Collider
|
|
4
4
|
from .broad.broad_bvh import BroadBVH
|
|
5
|
-
from ..mesh.cube import
|
|
5
|
+
from ..mesh.cube import Cube
|
|
6
6
|
from ..generic.collisions import get_sat_axes
|
|
7
7
|
from .narrow.gjk import collide_gjk
|
|
8
8
|
from .narrow.epa import get_epa_from_gjk
|
|
@@ -17,6 +17,7 @@ class ColliderHandler():
|
|
|
17
17
|
|
|
18
18
|
def __init__(self, scene) -> None:
|
|
19
19
|
self.scene = scene
|
|
20
|
+
self.cube = self.scene.engine.cube
|
|
20
21
|
self.colliders = []
|
|
21
22
|
self.bvh = BroadBVH(self)
|
|
22
23
|
|
|
@@ -132,7 +133,7 @@ class ColliderHandler():
|
|
|
132
133
|
node2: Node = collider2.node
|
|
133
134
|
|
|
134
135
|
# get peneration data or quit early if no collision is found
|
|
135
|
-
if collider1.mesh == cube and collider2.mesh == cube: # obb-obb collision
|
|
136
|
+
if collider1.mesh == self.cube and collider2.mesh == self.cube: # obb-obb collision
|
|
136
137
|
|
|
137
138
|
# run SAT for obb-obb (includes peneration)
|
|
138
139
|
data = self.collide_obb_obb(collider1, collider2)
|
|
@@ -3,7 +3,7 @@ import pygame as pg
|
|
|
3
3
|
class FontRenderer():
|
|
4
4
|
def __init__(self, root):
|
|
5
5
|
pg.font.init()
|
|
6
|
-
self.font = pg.font.Font(root + '/
|
|
6
|
+
self.font = pg.font.Font(root + '/bsk_assets/Roboto-Regular.ttf', 48)
|
|
7
7
|
self.text_renders = {}
|
|
8
8
|
|
|
9
9
|
def render(self, text, color=(255, 255, 255), bold=False, underline=False, italic=False):
|
|
@@ -4,6 +4,7 @@ import pygame as pg
|
|
|
4
4
|
import moderngl as mgl
|
|
5
5
|
from .config import Config
|
|
6
6
|
from .input.mouse import Mouse
|
|
7
|
+
from .mesh.cube import Cube
|
|
7
8
|
import time
|
|
8
9
|
|
|
9
10
|
class Engine():
|
|
@@ -62,7 +63,6 @@ class Engine():
|
|
|
62
63
|
else:
|
|
63
64
|
pg.display.set_mode(self.win_size, vsync=vsync, flags=pg.OPENGL | pg.DOUBLEBUF | pg.RESIZABLE)
|
|
64
65
|
pg.display.set_caption(title)
|
|
65
|
-
pg.display.set_icon(pg.image.load("basilisk.png"))
|
|
66
66
|
|
|
67
67
|
# MGL context setup
|
|
68
68
|
self.ctx = mgl.create_context()
|
|
@@ -72,8 +72,11 @@ class Engine():
|
|
|
72
72
|
self.headless = headless
|
|
73
73
|
self.set_configurations()
|
|
74
74
|
self.root = os.path.dirname(__file__)
|
|
75
|
-
|
|
75
|
+
self.cube = Cube(self)
|
|
76
76
|
|
|
77
|
+
# Update the icon
|
|
78
|
+
pg.display.set_icon(pg.image.load(self.root + '/bsk_assets/basilisk.png'))
|
|
79
|
+
|
|
77
80
|
# Time variables
|
|
78
81
|
self.clock = pg.time.Clock()
|
|
79
82
|
self.delta_time = 0
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import glm
|
|
2
|
+
import os
|
|
3
|
+
from .mesh import Mesh
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Cube(Mesh):
|
|
7
|
+
def __init__(self, engine) -> None:
|
|
8
|
+
# built-in cube mesh with custom functions
|
|
9
|
+
path = engine.root + '/bsk_assets/cube.obj'
|
|
10
|
+
super().__init__(path)
|
|
11
|
+
|
|
12
|
+
def get_best_dot(self, vec: glm.vec3) -> glm.vec3:
|
|
13
|
+
"""
|
|
14
|
+
Gets the best dot point of a cube
|
|
15
|
+
"""
|
|
16
|
+
return glm.vec3([-1 if v < 0 else 1 for v in vec])
|
|
@@ -4,7 +4,6 @@ from ..generic.vec3 import Vec3
|
|
|
4
4
|
from ..generic.quat import Quat
|
|
5
5
|
from ..generic.matrices import get_model_matrix
|
|
6
6
|
from ..mesh.mesh import Mesh
|
|
7
|
-
from ..mesh.cube import cube
|
|
8
7
|
from ..render.material import Material
|
|
9
8
|
from ..physics.physics_body import PhysicsBody
|
|
10
9
|
from ..collisions.collider import Collider
|
|
@@ -95,7 +94,7 @@ class Node():
|
|
|
95
94
|
self.internal_scale : Vec3 = Vec3(scale) if scale else Vec3(1, 1, 1)
|
|
96
95
|
self.internal_rotation: Quat = Quat(rotation) if rotation else Quat(1, 0, 0, 0)
|
|
97
96
|
self.forward = forward if forward else glm.vec3(1, 0, 0)
|
|
98
|
-
self.mesh = mesh if mesh else cube
|
|
97
|
+
self.mesh = mesh if mesh else self.node_handler.scene.engine.cube
|
|
99
98
|
self.material = material if material else None # TODO add default base material
|
|
100
99
|
self.velocity = velocity if velocity else glm.vec3(0, 0, 0)
|
|
101
100
|
self.rotational_velocity = rotational_velocity if rotational_velocity else glm.vec3(0, 0, 0)
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
MANIFEST.in
|
|
1
2
|
README.md
|
|
3
|
+
cloth.png
|
|
4
|
+
floor.png
|
|
5
|
+
foil.png
|
|
6
|
+
mud.png
|
|
7
|
+
screenshot.png
|
|
2
8
|
setup.py
|
|
3
9
|
basilisk/__init__.py
|
|
4
10
|
basilisk/config.py
|
|
@@ -39,7 +45,6 @@ basilisk/mesh/model.py
|
|
|
39
45
|
basilisk/mesh/narrow_aabb.py
|
|
40
46
|
basilisk/mesh/narrow_bvh.py
|
|
41
47
|
basilisk/mesh/narrow_primative.py
|
|
42
|
-
basilisk/mesh/built-in/__init__.py
|
|
43
48
|
basilisk/nodes/__init__.py
|
|
44
49
|
basilisk/nodes/node.py
|
|
45
50
|
basilisk/nodes/node_handler.py
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -7,13 +7,14 @@ with open(path.join(working_directory, 'README.md'), encoding='utf-8') as f:
|
|
|
7
7
|
|
|
8
8
|
setup(
|
|
9
9
|
name = 'basilisk-engine', # Name of folder containing scripts and __init__
|
|
10
|
-
version = '0.0.
|
|
10
|
+
version = '0.0.5',
|
|
11
11
|
url = 'https://basilisk-website.vercel.app/',
|
|
12
12
|
author = 'Name',
|
|
13
13
|
author_email = 'basiliskengine@gmail.com',
|
|
14
14
|
description = 'Python 3D Framework',
|
|
15
15
|
long_description = long_description, # Load from file
|
|
16
16
|
long_description_content_type = 'text/markdown',
|
|
17
|
+
include_package_data=True,
|
|
17
18
|
packages=find_packages(),
|
|
18
19
|
install_requires=['numpy', 'pillow', 'pygame-ce', 'moderngl', 'PyGLM', 'numba'], # Include all used packages
|
|
19
20
|
)
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import glm
|
|
2
|
-
import os
|
|
3
|
-
from .mesh import Mesh
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class Cube(Mesh):
|
|
7
|
-
def __init__(self) -> None:
|
|
8
|
-
# built-in cube mesh with custom functions
|
|
9
|
-
dire = os.path.dirname(__file__)
|
|
10
|
-
path = os.path.join(dire, 'built-in', 'cube.obj')
|
|
11
|
-
super().__init__(path)
|
|
12
|
-
|
|
13
|
-
def get_best_dot(self, vec: glm.vec3) -> glm.vec3:
|
|
14
|
-
"""
|
|
15
|
-
Gets the best dot point of a cube
|
|
16
|
-
"""
|
|
17
|
-
return glm.vec3([-1 if v < 0 else 1 for v in vec])
|
|
18
|
-
|
|
19
|
-
# create instance of cube mesh to be used by both the user and the package. Needs to be the same cube object for internal comparisons. Do not allow the user to access the Cube class to prevent them from making other Cube objects.
|
|
20
|
-
cube = Cube()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{basilisk_engine-0.0.3/basilisk/mesh/built-in → basilisk_engine-0.0.5/basilisk/nodes}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{basilisk_engine-0.0.3/basilisk/physics → basilisk_engine-0.0.5/basilisk/render}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{basilisk_engine-0.0.3/basilisk/render → basilisk_engine-0.0.5/basilisk/shaders}/__init__.py
RENAMED
|
File without changes
|
{basilisk_engine-0.0.3 → basilisk_engine-0.0.5}/basilisk_engine.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|