def make_empty_texture(self, type_): filepath = 'textures/{}.png'.format(type_.lower()) path = os.path.dirname(self._output) egg_texture = EggTexture( os.path.basename(filepath), os.path.join(path, filepath)) egg_texture.set_wrap_mode(EggTexture.WM_clamp) # check if we have patched panda3d have_srgb = hasattr(EggTexture, 'F_srgb_alpha') if type_[1] == 'Diffuse': if have_srgb: egg_texture.set_format(EggTexture.F_srgb_alpha) else: egg_texture.set_format(EggTexture.F_rgba) else: egg_texture.set_format(EggTexture.F_rgba) if type_[1] == 'Diffuse': egg_texture.set_env_type(EggTexture.ET_modulate) elif type_[1] == 'Normal': egg_texture.set_env_type(EggTexture.ET_normal) else: egg_texture.set_env_type(EggTexture.ET_decal) egg_texture.set_priority(type_[0]) egg_texture.set_stage_name(type_[1]) return None, egg_texture # sampler, image
def make_texture(self, type_, image_texture): filepath = image_texture.image.filepath.lstrip('/') path = os.path.dirname(self._output) egg_texture = EggTexture( image_texture.image.name, os.path.join(path, filepath)) if image_texture.extension == 'CLIP': egg_texture.set_wrap_mode(EggTexture.WM_clamp) elif image_texture.extension == 'REPEAT': egg_texture.set_wrap_mode(EggTexture.WM_repeat) # check if we have patched panda3d have_srgb = hasattr(EggTexture, 'F_srgb_alpha') num_channels = self.get_num_channels(os.path.join(path, filepath)) if type_[1] == 'Diffuse': if have_srgb: if num_channels == 4: egg_texture.set_format(EggTexture.F_srgb_alpha) elif num_channels == 3: egg_texture.set_format(EggTexture.F_srgb) else: if num_channels == 4: egg_texture.set_format(EggTexture.F_rgba) elif num_channels == 3: egg_texture.set_format(EggTexture.F_rgb) else: if num_channels == 4: egg_texture.set_format(EggTexture.F_rgba) elif num_channels == 3: egg_texture.set_format(EggTexture.F_rgb) if type_[1] == 'Diffuse': egg_texture.set_env_type(EggTexture.ET_modulate) elif type_[1] == 'Normal': egg_texture.set_env_type(EggTexture.ET_normal) else: egg_texture.set_env_type(EggTexture.ET_decal) egg_texture.set_priority(type_[0]) egg_texture.set_stage_name(type_[1]) return None, egg_texture # sampler, image