panda3d/tests/display/test_cg_shader.py

29 lines
842 B
Python

import os
from panda3d import core
SHADERS_DIR = core.Filename.from_os_specific(os.path.dirname(__file__))
def run_cg_compile_check(gsg, shader_path, expect_fail=False):
"""Compile supplied Cg shader path and check for errors"""
shader = core.Shader.load(shader_path, core.Shader.SL_Cg)
# assert shader.is_prepared(gsg.prepared_objects)
if expect_fail:
assert shader is None
else:
assert shader is not None
def test_cg_compile_error(gsg):
"""Test getting compile errors from bad Cg shaders"""
shader_path = core.Filename(SHADERS_DIR, 'cg_bad.sha')
run_cg_compile_check(gsg, shader_path, expect_fail=True)
def test_cg_from_file(gsg):
"""Test compiling Cg shaders from files"""
shader_path = core.Filename(SHADERS_DIR, 'cg_simple.sha')
run_cg_compile_check(gsg, shader_path)