Skip to content

Commit 681cb3f

Browse files
committed
Working examples
1 parent 1ec6b06 commit 681cb3f

File tree

13 files changed

+29
-14
lines changed

13 files changed

+29
-14
lines changed

demosys/effects/registry.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,18 @@ def add_package(self, name):
5252
5353
:param name: (str) The effect package to add
5454
"""
55+
if name in self.package_map:
56+
return
57+
5558
package = EffectPackage(name)
5659
package.load()
5760

5861
self.packages.append(package)
5962
self.package_map[package.path] = package
6063

64+
# Load effect package dependencies
65+
self.polulate(package.effect_packages)
66+
6167
def get_package(self, name) -> 'EffectPackage':
6268
"""
6369
Get a package by python path
@@ -154,20 +160,16 @@ def load_effects_classes(self):
154160

155161
def load_resource_module(self):
156162
"""Fetch the resource list"""
157-
# Do we have a resources folder?
158-
if not os.path.exists(os.path.join(self.path, 'resources')):
159-
return
160-
161163
# Attempt to load the dependencies module
162164
try:
163165
name = '{}.{}'.format(self.name, 'dependencies')
164166
self.dependencies_module = importlib.import_module(name)
165-
except ModuleNotFoundError:
167+
except ModuleNotFoundError as err:
166168
raise EffectError(
167169
(
168-
"Effect package '{}' has no 'dependencies' module. "
169-
"This is required when the resources directory is present."
170-
).format(self.name))
170+
"Effect package '{}' has no 'dependencies' module or the module has errors. "
171+
"Forwarded error from importlib: {}"
172+
).format(self.name, err))
171173

172174
# Fetch the resource descriptions
173175
try:

demosys/effects/text/resources/descriptions.py renamed to demosys/effects/text/dependencies.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from demosys.resources.meta import TextureDescription, ProgramDescription, DataDescription
22

3+
effect_packages = []
34

45
resources = [
56
# Font meta and texture

demosys/effects/text/effects/writer_2d.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ def __init__(self, area, text_lines=None, aspect_ratio=1.0):
2424
self.aspect_ratio = aspect_ratio
2525

2626
self._vao = None
27+
self._config = self.get_data('demosys.program.font_meta')
2728
self._texture = self.get_texture('demosys.text.font_texture')
2829
self._program = self.get_program('demosys.text.program_writer_2d')
29-
self._config = self.get_data('demosys.text.textwriter2d.glsl')
3030

3131
self._string_buffer = None
3232

33-
self._init(FontMeta(self._config.data))
33+
self._init(FontMeta(self._config))
3434

3535
self._string_buffer = self.ctx.buffer(reserve=self.area[0] * 4 * self.area[1])
3636
self._string_buffer.clear(chunk=b'\32')

demosys/loaders/texture/array.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class Loader(PillowLoader):
66

77
def __init__(self, meta):
88
super().__init__(meta)
9-
self.layers = self.meta.get('layers')
9+
self.layers = self.meta.kwargs.get('layers')
1010

1111
if self.layers is None:
1212
raise ValueError("TextureArray requires layers parameter")
@@ -25,7 +25,7 @@ def load(self):
2525
)
2626

2727
if self.meta.mipmap:
28-
self.build_mipmaps()
28+
texture.build_mipmaps()
2929

3030
self._close_image()
3131

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

examples/textrenderer/dependencies.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
effect_packages = [
3+
'demosys.effects.text',
4+
]
5+
6+
resources = []

examples/textrenderer/effect.py renamed to examples/textrenderer/effects.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import os
33

44
from demosys.effects import effect
5-
from demosys.text import TextRenderer2D
5+
from demosys.effects.text.effects import TextRenderer2D
66

77

88
class TextRendererEffect(effect.Effect):

0 commit comments

Comments
 (0)