Skip to content

Instantly share code, notes, and snippets.

@Farfarer
Last active June 13, 2018 11:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Farfarer/3cdbeed93d12221e785b572f92197e26 to your computer and use it in GitHub Desktop.
Save Farfarer/3cdbeed93d12221e785b572f92197e26 to your computer and use it in GitHub Desktop.
List avaialble texture effects (internal names and user-friendly names) in Modo.
def ListTextureEffects(category=lx.symbol.sSHADE_SURFACE):
internal = []
user = []
host_svc = lx.service.Host()
msg_svc = lx.service.Message ()
msg = lx.object.Message (msg_svc.Allocate ())
for i in xrange(host_svc.NumServers(lx.symbol.a_TEXTUREEFFECT)):
srv = host_svc.ServerByIndex(lx.symbol.a_TEXTUREEFFECT, i)
tag = srv.InfoTag(lx.symbol.sTFX_CATEGORY)
if tag == category:
internalName = srv.UserName()
try:
msg.SetMessage ('frame.material', internalName, 0)
except:
pass
else:
userName = msg_svc.MessageText (msg)
internal.append(internalName)
user.append(userName)
return internal, user
# Texture Effects
internalName, userName = ListTextureEffects(lx.symbol.sSHADE_SURFACE)
for ni, nu in zip(internalName, userName):
print '%s (%s)' % (nu, ni)
# Render Outputs
internalName, userName = ListTextureEffects(lx.symbol.sSHADE_OUTPUT)
for ni, nu in zip(internalName, userName):
print '%s (%s)' % (nu, ni)
# Light Effects
internalName, userName = ListTextureEffects(lx.symbol.sSHADE_LIGHT)
for ni, nu in zip(internalName, userName):
print '%s (%s)' % (nu, ni)
# Environment Effects
internalName, userName = ListTextureEffects(lx.symbol.sSHADE_ENVIRONMENT)
for ni, nu in zip(internalName, userName):
print '%s (%s)' % (nu, ni)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment