basilisk-engine 0.1.36__tar.gz → 0.1.37__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.

Files changed (167) hide show
  1. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/PKG-INFO +1 -1
  2. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/draw/draw_handler.py +5 -2
  3. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/particles/particle_handler.py +1 -1
  4. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/particles/particle_renderer.py +1 -0
  5. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/frame.py +5 -3
  6. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/scene.py +2 -1
  7. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/geometry.frag +2 -0
  8. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/normal.frag +3 -0
  9. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/particle.frag +6 -1
  10. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/particle.vert +4 -2
  11. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk_engine.egg-info/PKG-INFO +1 -1
  12. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/setup.py +1 -1
  13. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/MANIFEST.in +0 -0
  14. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/README.md +0 -0
  15. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/__init__.py +0 -0
  16. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/audio/__init__.py +0 -0
  17. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/audio/sound.py +0 -0
  18. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/bsk_assets/Roboto-Regular.ttf +0 -0
  19. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/bsk_assets/__init__.py +0 -0
  20. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/bsk_assets/basilisk.png +0 -0
  21. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/bsk_assets/cube.obj +0 -0
  22. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/bsk_assets/skybox.png +0 -0
  23. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/__init__.py +0 -0
  24. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/broad/__init__.py +0 -0
  25. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/broad/broad_aabb.py +0 -0
  26. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/broad/broad_bvh.py +0 -0
  27. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/collider.py +0 -0
  28. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/collider_handler.py +0 -0
  29. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/narrow/__init__.py +0 -0
  30. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/narrow/contact_manifold.py +0 -0
  31. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/narrow/dataclasses.py +0 -0
  32. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/narrow/deprecated.py +0 -0
  33. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/narrow/epa.py +0 -0
  34. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/narrow/gjk.py +0 -0
  35. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/narrow/graham_scan.py +0 -0
  36. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/narrow/helper.py +0 -0
  37. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/narrow/line_intersections.py +0 -0
  38. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/collisions/narrow/sutherland_hodgman.py +0 -0
  39. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/config.py +0 -0
  40. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/draw/__init__.py +0 -0
  41. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/draw/draw.py +0 -0
  42. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/draw/font_renderer.py +0 -0
  43. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/engine.py +0 -0
  44. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/__init__.py +0 -0
  45. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/abstract_bvh.py +0 -0
  46. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/abstract_custom.py +0 -0
  47. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/collisions.py +0 -0
  48. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/input_validation.py +0 -0
  49. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/math.py +0 -0
  50. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/matrices.py +0 -0
  51. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/meshes.py +0 -0
  52. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/quat.py +0 -0
  53. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/quat_methods.py +0 -0
  54. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/raycast_result.py +0 -0
  55. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/generic/vec3.py +0 -0
  56. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/input_output/IO_handler.py +0 -0
  57. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/input_output/__init__.py +0 -0
  58. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/input_output/clock.py +0 -0
  59. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/input_output/keys.py +0 -0
  60. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/input_output/mouse.py +0 -0
  61. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/input_output/path.py +0 -0
  62. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/mesh/__init__.py +0 -0
  63. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/mesh/cube.py +0 -0
  64. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/mesh/mesh.py +0 -0
  65. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/mesh/mesh_from_data.py +0 -0
  66. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/mesh/model.py +0 -0
  67. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/mesh/narrow_aabb.py +0 -0
  68. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/mesh/narrow_bvh.py +0 -0
  69. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/mesh/narrow_primative.py +0 -0
  70. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/nodes/__init__.py +0 -0
  71. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/nodes/helper.py +0 -0
  72. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/nodes/node.py +0 -0
  73. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/nodes/node_handler.py +0 -0
  74. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/particles/__init__.py +0 -0
  75. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/physics/__init__.py +0 -0
  76. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/physics/impulse.py +0 -0
  77. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/physics/physics_body.py +0 -0
  78. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/physics/physics_engine.py +0 -0
  79. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/__init__.py +0 -0
  80. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/batch.py +0 -0
  81. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/bloom.py +0 -0
  82. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/camera.py +0 -0
  83. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/chunk.py +0 -0
  84. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/chunk_handler.py +0 -0
  85. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/framebuffer.py +0 -0
  86. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/image.py +0 -0
  87. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/image_handler.py +0 -0
  88. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/light.py +0 -0
  89. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/light_handler.py +0 -0
  90. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/material.py +0 -0
  91. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/material_handler.py +0 -0
  92. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/post_process.py +0 -0
  93. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/shader.py +0 -0
  94. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/shader_handler.py +0 -0
  95. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/render/sky.py +0 -0
  96. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/__init__.py +0 -0
  97. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/batch.frag +0 -0
  98. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/batch.vert +0 -0
  99. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/bloom_downsample.frag +0 -0
  100. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/bloom_frame.frag +0 -0
  101. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/bloom_upsample.frag +0 -0
  102. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/crt.frag +0 -0
  103. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/draw.frag +0 -0
  104. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/draw.vert +0 -0
  105. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/filter.frag +0 -0
  106. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/frame.frag +0 -0
  107. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/frame.vert +0 -0
  108. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/geometry.vert +0 -0
  109. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/normal.vert +0 -0
  110. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/sky.frag +0 -0
  111. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk/shaders/sky.vert +0 -0
  112. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk_engine.egg-info/SOURCES.txt +0 -0
  113. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk_engine.egg-info/dependency_links.txt +0 -0
  114. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk_engine.egg-info/requires.txt +0 -0
  115. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/basilisk_engine.egg-info/top_level.txt +0 -0
  116. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/docs/images/0_boilerplate.png +0 -0
  117. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/images/cloth.png +0 -0
  118. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/images/floor.png +0 -0
  119. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/images/foil.png +0 -0
  120. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/images/mud.png +0 -0
  121. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/setup.cfg +0 -0
  122. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/SkySkybox.png +0 -0
  123. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/box_three.obj +0 -0
  124. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/box_three_lid.obj +0 -0
  125. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/brick.png +0 -0
  126. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/brick_normal.png +0 -0
  127. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/bunny.obj +0 -0
  128. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/closet_001.obj +0 -0
  129. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/cloth_albedo.png +0 -0
  130. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/cloth_normal.png +0 -0
  131. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/cube.obj +0 -0
  132. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/cubemaps_skybox.png +0 -0
  133. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/cylinder.obj +0 -0
  134. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/demo_sphere.obj +0 -0
  135. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/dirt.png +0 -0
  136. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/drawer.obj +0 -0
  137. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/dresser.obj +0 -0
  138. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/floor_albedo.png +0 -0
  139. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/floor_normal.png +0 -0
  140. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/foil_normal.png +0 -0
  141. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/fridge_001.obj +0 -0
  142. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/grass.jpg +0 -0
  143. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/grass_ao.jpg +0 -0
  144. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/grass_block_side.png +0 -0
  145. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/grass_block_top.png +0 -0
  146. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/grass_normal.png +0 -0
  147. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/grass_roughness.jpg +0 -0
  148. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/image.png +0 -0
  149. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/john.obj +0 -0
  150. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/key.obj +0 -0
  151. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/lucy.obj +0 -0
  152. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/monkey.obj +0 -0
  153. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/mud.png +0 -0
  154. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/mud_normal.png +0 -0
  155. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/oak_tree.obj +0 -0
  156. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/picture_frame.obj +0 -0
  157. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/shaders/custom_format.frag +0 -0
  158. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/shaders/custom_format.vert +0 -0
  159. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/shaders/image_test.frag +0 -0
  160. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/shaders/image_test.vert +0 -0
  161. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/shaders/multi_render_test.frag +0 -0
  162. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/shaders/multi_render_test.vert +0 -0
  163. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/skybox.png +0 -0
  164. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/sock.obj +0 -0
  165. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/sphere.obj +0 -0
  166. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/wedge.obj +0 -0
  167. {basilisk_engine-0.1.36 → basilisk_engine-0.1.37}/tests/wheel_eight.obj +0 -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
@@ -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
@@ -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
@@ -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
@@ -7,7 +7,7 @@ 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.1.36',
10
+ version = '0.1.37',
11
11
  url = 'https://basilisk-website.vercel.app/',
12
12
  author = 'Name',
13
13
  author_email = 'basiliskengine@gmail.com',