| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- from panda3d import core
- def test_shaderattrib_flags():
- # Ensure the old single-flag behavior still works
- shattr = core.ShaderAttrib.make()
- # Make sure we have the flag
- shattr = shattr.set_flag(core.ShaderAttrib.F_hardware_skinning, True)
- assert shattr.get_flag(core.ShaderAttrib.F_hardware_skinning)
- # Make sure we don't have a flag that we didn't set
- assert not shattr.get_flag(core.ShaderAttrib.F_subsume_alpha_test)
- # Clear it, we should not longer have the flag
- shattr = shattr.clear_flag(core.ShaderAttrib.F_hardware_skinning)
- assert not shattr.get_flag(core.ShaderAttrib.F_hardware_skinning)
- # Set a flag to false, we shouldn't have it
- shattr = shattr.set_flag(core.ShaderAttrib.F_hardware_skinning, False)
- assert not shattr.get_flag(core.ShaderAttrib.F_hardware_skinning)
- # Ensure the new behavior works
- shattr = core.ShaderAttrib.make()
- # Make sure we have the flags
- shattr = shattr.set_flag(core.ShaderAttrib.F_hardware_skinning | core.ShaderAttrib.F_subsume_alpha_test, True)
- assert shattr.get_flag(core.ShaderAttrib.F_hardware_skinning | core.ShaderAttrib.F_subsume_alpha_test)
- # Make sure we don't have a flag that we didn't set
- assert not shattr.get_flag(core.ShaderAttrib.F_shader_point_size)
- # ...group of flags we didn't set
- assert not shattr.get_flag(core.ShaderAttrib.F_disable_alpha_write | core.ShaderAttrib.F_shader_point_size)
- # Make sure they clear correctly
- shattr = shattr.clear_flag(core.ShaderAttrib.F_hardware_skinning | core.ShaderAttrib.F_subsume_alpha_test)
- assert not shattr.get_flag(core.ShaderAttrib.F_hardware_skinning | core.ShaderAttrib.F_subsume_alpha_test)
- # Set group to false
- shattr = shattr.set_flag(core.ShaderAttrib.F_hardware_skinning | core.ShaderAttrib.F_subsume_alpha_test, False)
- assert not shattr.get_flag(core.ShaderAttrib.F_hardware_skinning | core.ShaderAttrib.F_subsume_alpha_test)
- def test_shaderattrib_compare():
- shattr1 = core.ShaderAttrib.make()
- shattr2 = core.ShaderAttrib.make()
- assert shattr1.compare_to(shattr2) == 0
- assert shattr2.compare_to(shattr1) == 0
- shattr2 = core.ShaderAttrib.make().set_flag(core.ShaderAttrib.F_subsume_alpha_test, False)
- assert shattr1.compare_to(shattr2) != 0
- assert shattr2.compare_to(shattr1) != 0
- shattr1 = core.ShaderAttrib.make().set_flag(core.ShaderAttrib.F_subsume_alpha_test, False)
- assert shattr1.compare_to(shattr2) == 0
- assert shattr2.compare_to(shattr1) == 0
- shattr2 = core.ShaderAttrib.make().set_flag(core.ShaderAttrib.F_subsume_alpha_test, True)
- assert shattr1.compare_to(shattr2) != 0
- assert shattr2.compare_to(shattr1) != 0
|