Source code for cg.effect

# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function, unicode_literals

from cg.parameter import EffectParameterFactory
from cg.effect.technique import EffectTechniqueFactory
from cg.utils import Disposable, gather

[docs]class Effect(Disposable): ''' Wraps CG Effect. ''' _parameters = None _techniques = None def __init__(self, cgeffect, bridge, parameter_factory=None, technique_factory=None): self._cgeffect = cgeffect self._bridge = bridge self._parameter_factory = parameter_factory or EffectParameterFactory(self._bridge) self._technique_factory = technique_factory or EffectTechniqueFactory(self._bridge) @property
[docs] def techniques(self): ''' Gets techniques defined for an effect as a tuple of :py:class:`cg.effect.technique.EffectTechnique`. ''' if self._techniques is None: self._techniques = self._technique_factory.get_by_cgeffect(self._cgeffect) return self._techniques
@property
[docs] def parameters(self): ''' Gets effect parameters as a :py:class:`cg.parameter.ParameterCollection`. ''' if self._parameters is None: self._parameters = self._parameter_factory.get_by_cgeffect(self._cgeffect) return self._parameters
def perform_dispose(self): self._bridge.cgDestroyEffect(self._cgeffect)

Project Versions

This Page