basilisk-engine 0.1.36__py3-none-any.whl → 0.1.37__py3-none-any.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.

Potentially problematic release.


This version of basilisk-engine might be problematic. Click here for more details.

@@ -43,6 +43,9 @@ class DrawHandler():
43
43
 
44
44
  if not self.draw_data: return
45
45
 
46
+ self.ctx.enable(mgl.BLEND)
47
+ self.ctx.blend_func = mgl.ADDITIVE_BLENDING
48
+
46
49
  # Reverse the draw order, and convert to C-like array
47
50
  self.draw_data.reverse()
48
51
  data = np.array(self.draw_data, dtype='f4')
@@ -54,8 +57,6 @@ class DrawHandler():
54
57
  self.vao = self.ctx.vertex_array(self.shader.program, [(self.vbo, '2f 4f 1i 1f', *['in_position', 'in_color', 'in_uses_image', 'in_alpha'])], skip_errors=True)
55
58
 
56
59
  # Render the VAO
57
- self.ctx.enable(mgl.BLEND)
58
- self.ctx.blend_equation = mgl.ADDITIVE_BLENDING
59
60
  self.vao.render()
60
61
 
61
62
  # Clera the draw data
@@ -65,6 +66,8 @@ class DrawHandler():
65
66
  self.vao = None
66
67
  self.draw_data.clear()
67
68
 
69
+ self.ctx.disable(mgl.BLEND)
70
+
68
71
  def draw_rect(self, color: tuple, rect: tuple) -> None:
69
72
  """
70
73
  Draws a rect to the screen
@@ -42,7 +42,7 @@ class ParticleHandler:
42
42
 
43
43
  # Get material ID
44
44
  if material == None: material_index = 0
45
- elif isinstance(material, Material):
45
+ elif isinstance(material, Material):
46
46
  self.scene.engine.material_handler.add(material)
47
47
  material_index = material.index
48
48
  else: raise ValueError(f'particle_handler.add: Invalid particle material type: {type(material)}')
@@ -31,6 +31,7 @@ class ParticleRenderer:
31
31
  root = scene.engine.root
32
32
  if shader: self.shader = shader
33
33
  else: self.shader = Shader(scene.engine, vert=root + '/shaders/particle.vert', frag=root + '/shaders/particle.frag')
34
+
34
35
  scene.engine.shader_handler.add(self.shader)
35
36
 
36
37
  self.particle_cube_size = 25
basilisk/render/frame.py CHANGED
@@ -28,9 +28,6 @@ class Frame:
28
28
  self.framebuffer.texture.repeat_x = False
29
29
  self.framebuffer.texture.repeat_y = False
30
30
 
31
- self.ctx.enable(mgl.BLEND)
32
- self.ctx.blend_func = mgl.ADDITIVE_BLENDING
33
-
34
31
  # Load Shaders
35
32
  self.shader = Shader(self.engine, self.engine.root + '/shaders/frame.vert', self.engine.root + '/shaders/bloom_frame.frag')
36
33
  self.engine.shader_handler.add(self.shader)
@@ -50,6 +47,9 @@ class Frame:
50
47
  Renders the current frame to the screen
51
48
  """
52
49
 
50
+ self.ctx.enable(mgl.BLEND)
51
+ self.ctx.blend_func = mgl.ADDITIVE_BLENDING
52
+
53
53
  if self.engine.event_resize: self.bloom.generate_bloom_buffers()
54
54
 
55
55
  for process in self.post_processes:
@@ -65,6 +65,8 @@ class Frame:
65
65
  self.shader.bind(self.bloom.texture, 'bloomTexture', 1)
66
66
  self.vao.render()
67
67
 
68
+ self.ctx.disable(mgl.BLEND)
69
+
68
70
  def use(self) -> None:
69
71
  """
70
72
  Uses the frame as a render target
basilisk/scene.py CHANGED
@@ -287,4 +287,5 @@ class Scene():
287
287
  @shader.setter
288
288
  def shader(self, value):
289
289
  self._shader = value
290
- value.set_main(self)
290
+ value.set_main(self)
291
+ if self.light_handler: self.light_handler.write(value)
@@ -1,9 +1,11 @@
1
1
  #version 330 core
2
2
 
3
3
  layout (location = 0) out vec4 fragColor;
4
+ layout (location = 1) out vec4 bloomColor;
4
5
 
5
6
 
6
7
  void main() {
7
8
  // Output fragment color
8
9
  fragColor = vec4(1.0, 1.0, 1.0, 1.0);
10
+ bloomColor = vec4(0.0);
9
11
  }
@@ -1,6 +1,7 @@
1
1
  #version 330 core
2
2
 
3
3
  layout (location = 0) out vec4 fragColor;
4
+ layout (location = 1) out vec4 bloomColor;
4
5
 
5
6
  // Structs needed for the shader
6
7
  struct textArray {
@@ -57,4 +58,6 @@ void main() {
57
58
 
58
59
  // Output fragment color
59
60
  fragColor = vec4(normal, 1.0);
61
+
62
+ bloomColor = vec4(0.0);
60
63
  }
@@ -1,5 +1,7 @@
1
1
  #version 330 core
2
- out vec4 fragColor;
2
+
3
+ layout (location = 0) out vec4 fragColor;
4
+ layout (location = 1) out vec4 bloomColor;
3
5
 
4
6
  in vec2 uv;
5
7
  in vec3 position;
@@ -12,6 +14,7 @@ uniform textArray textureArrays[5];
12
14
 
13
15
  struct Material {
14
16
  vec3 color;
17
+ vec3 emissiveColor;
15
18
  float roughness;
16
19
  float subsurface;
17
20
  float sheen;
@@ -69,4 +72,6 @@ void main()
69
72
  // Get color and gamma correction
70
73
  fragColor = vec4(color * (.2 + diff), 1.0);
71
74
  fragColor.rgb = pow(fragColor.rgb, vec3(1.0/gamma));
75
+
76
+ bloomColor = vec4(mtl.emissiveColor, 1.0);
72
77
  }
@@ -21,6 +21,7 @@ uniform sampler2D materialsTexture;
21
21
 
22
22
  struct Material {
23
23
  vec3 color;
24
+ vec3 emissiveColor;
24
25
  float roughness;
25
26
  float subsurface;
26
27
  float sheen;
@@ -71,14 +72,15 @@ void main() {
71
72
  uv = in_uv;
72
73
 
73
74
  // Material Data
74
- int mtl_size = 25;
75
+ int mtl_size = 28;
75
76
  int materialID = int(in_instance_mtl);
76
- mtl = Material(vec3(0), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, vec2(0), 0, vec2(0), 0, vec2(0), 0, vec2(0));
77
+ mtl = Material(vec3(0), vec3(0), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, vec2(0), 0, vec2(0), 0, vec2(0), 0, vec2(0));
77
78
  mtl.color = vec3(texelFetch(materialsTexture, ivec2(0, 0 + materialID * mtl_size), 0).r, texelFetch(materialsTexture, ivec2(0, 1 + materialID * mtl_size), 0).r, texelFetch(materialsTexture, ivec2(0, 2 + materialID * mtl_size), 0).r);
78
79
  mtl.hasAlbedoMap = int(texelFetch(materialsTexture, ivec2(0, 13 + materialID * mtl_size), 0).r);
79
80
  mtl.albedoMap = vec2(texelFetch(materialsTexture, ivec2(0, 14 + materialID * mtl_size), 0).r, texelFetch(materialsTexture, ivec2(0, 15 + materialID * mtl_size), 0).r);
80
81
  mtl.hasNormalMap = int(texelFetch(materialsTexture, ivec2(0, 16 + materialID * mtl_size), 0).r);
81
82
  mtl.normalMap = vec2(texelFetch(materialsTexture, ivec2(0, 17 + materialID * mtl_size), 0).r, texelFetch(materialsTexture, ivec2(0, 18 + materialID * mtl_size), 0).r);
83
+ mtl.emissiveColor = vec3(texelFetch(materialsTexture, ivec2(0, 25 + materialID * mtl_size), 0).r, texelFetch(materialsTexture, ivec2(0, 26 + materialID * mtl_size), 0).r, texelFetch(materialsTexture, ivec2(0, 27 + materialID * mtl_size), 0).r);
82
84
 
83
85
  // Send position to the frag
84
86
  gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(in_position, 1.0);
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: basilisk-engine
3
- Version: 0.1.36
3
+ Version: 0.1.37
4
4
  Summary: Python 3D Framework
5
5
  Home-page: https://basilisk-website.vercel.app/
6
6
  Author: Name
@@ -1,7 +1,7 @@
1
1
  basilisk/__init__.py,sha256=iek4GeDKFC1oFX6JHCzyB-6F1iqHY9fiQo6S-qiotsk,1160
2
2
  basilisk/config.py,sha256=czvjhMD2QVOGfxrdVfxI-jOex54dRwwwYzBiACYuZ0s,1765
3
3
  basilisk/engine.py,sha256=9cKvXoRn8BC6eV8u2kJly-lfmp-zb7xlI-MW2DLYIRg,5887
4
- basilisk/scene.py,sha256=NJUySG4vk4D9DOfajB6gdy_EgWZi2-R0rm28SfL_CII,12486
4
+ basilisk/scene.py,sha256=UZVIXAVwuu9ktTh-FO2dVNlshGNz_KU-RDwKX8V0fY4,12550
5
5
  basilisk/audio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  basilisk/audio/sound.py,sha256=BjqaPv_07iD_-NDRy1cc0TS4PJzAnQc4hfsW9ntNjGQ,719
7
7
  basilisk/bsk_assets/Roboto-Regular.ttf,sha256=kqYnZjMRQMpbyLulIChCLSdgYa1XF8GsUIoRi2Gcauw,168260
@@ -27,7 +27,7 @@ basilisk/collisions/narrow/line_intersections.py,sha256=CGtttZ6n51u4l8JtQXzkClgZ
27
27
  basilisk/collisions/narrow/sutherland_hodgman.py,sha256=SUjSU5y7AuzIDiljMcTXxlGuFHT5IwtrOJ_k5HS1S2Y,3140
28
28
  basilisk/draw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  basilisk/draw/draw.py,sha256=j6vMAww5RqU_4VM4UcgxXl7FASBPbxy1Dqr-2eLx2pY,3620
30
- basilisk/draw/draw_handler.py,sha256=O8PXvyDigDv_GBHARzLl7nbuu-gS18WP2-8vrg3a0Ds,6246
30
+ basilisk/draw/draw_handler.py,sha256=aoN0p2lQWUCRtn5M7dR2zwPqe03d0_Sm75BV64BNcSM,6283
31
31
  basilisk/draw/font_renderer.py,sha256=gyI59fW3DUswIcSg5VJLLcJti3OLTMdXNQrYJaw18dE,1092
32
32
  basilisk/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  basilisk/generic/abstract_bvh.py,sha256=iQ6HjcI8Msw34dZ3YuDAhWSqEc4NTBHAaGqAZZAoLL8,383
@@ -60,8 +60,8 @@ basilisk/nodes/helper.py,sha256=VdlGuEaMtLa992_8yNOB-QIgz4Izr5wNMSm8H6KftKE,2097
60
60
  basilisk/nodes/node.py,sha256=Bfi2OquiuSl_AJtQyXhwzkrE5ZO8FlIOBxuwD8h4No0,33619
61
61
  basilisk/nodes/node_handler.py,sha256=V8OYMuI7WkULuoprE8_mN2bCrkml_no8fJN2sNcXPGQ,4203
62
62
  basilisk/particles/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- basilisk/particles/particle_handler.py,sha256=fFvvwtT-dw-Tst7Y6xLyjl2ljiP9u6T0ccNPZo3xy-8,2992
64
- basilisk/particles/particle_renderer.py,sha256=PEJ5qKCEPbPG__NSQcv2NKjTHtKviK5LqfCJS1vDbP8,3792
63
+ basilisk/particles/particle_handler.py,sha256=g35CwFRvYVT5mxssEKaj9PgkCErbfP7kDcsu4e_VyFI,2991
64
+ basilisk/particles/particle_renderer.py,sha256=GPC7txDpCP5cuRsrBvg-3xWNgof7vztfWuHwTtxzOfU,3794
65
65
  basilisk/physics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
66
  basilisk/physics/impulse.py,sha256=zv6MoGTSlu8qVbsbe2QxERGeyQZYbtzR_WVSqVLsmhw,5873
67
67
  basilisk/physics/physics_body.py,sha256=_mi-AVMgQqUsC3bQIca5tgk2xWXTIUw0D_uC4DcQqqs,1508
@@ -72,7 +72,7 @@ basilisk/render/bloom.py,sha256=VX-8k1ySGNX8OCo-29ph4MPWPXYZuSPLrKwa3seaK98,4184
72
72
  basilisk/render/camera.py,sha256=Bzyqp1ESNqjTR03hZIhil7pU1In5JDz-7sCj1Pter-M,9909
73
73
  basilisk/render/chunk.py,sha256=yFAflMaiOKH3Fl7cBIm4RGtOhXwYyVIFTO4_UgBX9x8,2866
74
74
  basilisk/render/chunk_handler.py,sha256=zJPYv3vw6_mtYQ0fW46j87dGrZENMBcRuHFzFOxqY-Q,6572
75
- basilisk/render/frame.py,sha256=l8NwJdqSvfKxzS7Eb6pUh269UJlvR3HFVn3Mp7XtnEM,3486
75
+ basilisk/render/frame.py,sha256=YQl_73PPgWmwhPSe9HHdh-1Kve9_I2w800aDtz4dMAA,3525
76
76
  basilisk/render/framebuffer.py,sha256=3A7k9vhtInMNwrhY3l3DydjGhivLz9hH_DwNNFSpKOM,7209
77
77
  basilisk/render/image.py,sha256=r-khPFJkZS8D0n_I4HeKk72lzbHeEYEM0Cp-KuR22Jk,4104
78
78
  basilisk/render/image_handler.py,sha256=CJyel7POIserAoLQ8YCc3SY24zia2ry6P3wMNK0-Vms,4295
@@ -96,15 +96,15 @@ basilisk/shaders/draw.vert,sha256=rMtpZFcF3Batup8xgAoJuxJhZ03c8DZ6uu7G5BdJe-A,62
96
96
  basilisk/shaders/filter.frag,sha256=m_egR4yiFRmIHGwCCfpcdvGXQi1w1Ago_iABlbnX80c,584
97
97
  basilisk/shaders/frame.frag,sha256=rs_AA1u7DL3CxtqpTqvhgQjYYthl_l_Dg7RXpU9_5Ks,160
98
98
  basilisk/shaders/frame.vert,sha256=KPB-Q3-Rix9-JxSj5tBHbZOu7QCdFgCzHwiZKEYIbFc,227
99
- basilisk/shaders/geometry.frag,sha256=Vh57G0r7Jj0uaTQEYuovZSgzOIJyZi-bzGvNsWZ--Oc,157
99
+ basilisk/shaders/geometry.frag,sha256=6Fcd1mMX5UAslw2GfREuA510UAAKrGdPYQHsaEDqLck,230
100
100
  basilisk/shaders/geometry.vert,sha256=2yPpezklovRQczpuf2pUhi4mMv3-YaOjDQCbrzdcdpk,1473
101
- basilisk/shaders/normal.frag,sha256=E6EwJUf76VCT8B_huuLfHRVRF7PkWxG1YGjdWh6sC44,1333
101
+ basilisk/shaders/normal.frag,sha256=I1kU5-u_UeDJJJZLuSU6Dl-9oYmzP040_SLqbGFHWw8,1408
102
102
  basilisk/shaders/normal.vert,sha256=4BlcNsIw3fQFsZlfF7VZr6EAV2Y-M-72tXhfaE0uReM,3320
103
- basilisk/shaders/particle.frag,sha256=Cv8cWQpVVQvhZeWj3NqL0D5nLtSO3EWV0VzOU-ZVL4Y,1816
104
- basilisk/shaders/particle.vert,sha256=ElXzT7ywiZ0SjrFcUistVDBi4wOobQ7_J5O7XVxrsVs,3027
103
+ basilisk/shaders/particle.frag,sha256=XZurKUl0oK9sfXXTa1-6rsGS7qBsuQSKajKN4tbMFaY,1960
104
+ basilisk/shaders/particle.vert,sha256=NbA_WKpxx1IAQt5wso5dZAZRqwVlejPjNdFg_GeJXEE,3313
105
105
  basilisk/shaders/sky.frag,sha256=Fr9SQHPKPV9a1mgSeprSiOaFjPrQX9qqZu3Uc_fQT0c,579
106
106
  basilisk/shaders/sky.vert,sha256=v_BSdnMiljSJGPqno-J_apAiom38IrBzbDoxM7pIgwI,345
107
- basilisk_engine-0.1.36.dist-info/METADATA,sha256=sbqmClimB7n89iktI5jnAQwPiC-exqTsSeiqKWtuz50,3882
108
- basilisk_engine-0.1.36.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
109
- basilisk_engine-0.1.36.dist-info/top_level.txt,sha256=enlSYSf7CUyAly1jmUCNNGInTbaFUjGk4SKwyckZQkw,9
110
- basilisk_engine-0.1.36.dist-info/RECORD,,
107
+ basilisk_engine-0.1.37.dist-info/METADATA,sha256=Jp9eDTsE97VPyajGxujwXUWp4I6mT3guZQZoPxDpVmg,3882
108
+ basilisk_engine-0.1.37.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
109
+ basilisk_engine-0.1.37.dist-info/top_level.txt,sha256=enlSYSf7CUyAly1jmUCNNGInTbaFUjGk4SKwyckZQkw,9
110
+ basilisk_engine-0.1.37.dist-info/RECORD,,