Skip to content

Releases: wdas/SeExpr

Include links to older documentation

25 Jan 21:50
Compare
Choose a tag to compare
Pre-release

Older documentation for pre-v2.0 releases at http://wdas.github.io/SeExpr/doxygen/v1/

LLVM evaluation, variable typing and variable blocks

25 Jan 21:49
Compare
Choose a tag to compare

Variable Typing

Statically typed variables and support for up to 16-dimensional vectors:

  • Floating point, FP[n], where n is 1..16:

    FP[1] for scalars, eg width, height
    FP[3] for 3d vectors, eg point, normal, color
    FP[4] eg quaternion
    FP[16] eg 4x4 matrix

  • String, eg "filename.ptx"

  • None, eg statements that don't return values

  • Error

  • Lifetime modifiers of type:

    • Uniform: fixed for a range of evaluations (inspired by Renderman where uniform is constant over a shading grid)
    • Constant: fixed for all evaluations at all times
    • Varying: can change on every evaluation point

Expression Evaluation

Faster expression evaluation using interpreter or using LLVM compiler
The default is set to LLVM evaluation. To set explicitly:

setenv SE_EXPR_EVAL LLVM
setenv SE_EXPR_EVAL INTERPRETER

While LLVM is faster to evaluate, there is more overhead during prep().
See updated tutorials at http://wdas.github.io/SeExpr/doxygen/

Variable Blocks

Shared variable blocks for evaluating multiple expressions at once.
Threading with variable blocks: each thread could have it's own variable block to operate on independently.
More details on using variable blocks is documented at http://wdas.github.io/SeExpr/doxygen/varblocks.html

Miscellaneous

New recursive descent parser, only used for the Python AST Tools.

First non-beta release

25 Jan 21:58
5e09e1e
Compare
Choose a tag to compare

Multiple bug fixes to beta

fix build errors for boost/python and able to build w/o animlib
minor documentation fixes
build: allow gtest to be collected
build demo apps for qt5 env
fixes for build dependencies among ui, tests and demos
fixes undefined signals due to namespace typo
Function cJitter has no definition
delay dclose() of plugins until function table is cleared
remove old v1 code for plugin init
fixes SEEXPR-195: crash during code gen of Vec4d func
Makefile.config.example: update flags for Qt4 and Qt5 compatibility
qt: make the codebase Qt4 and Qt5 compatible.
build-info: add a mode for querying PyQt's sip flags
fixes SEEXPR-180 error with unsupported local functions
namespace flex/bison function to avoid clashes
rename function that resets comments so it doesn't clash w/ v1

(Internal SeExpr2 v1.11.4)

Expression Editor UI Library

25 Jan 21:48
Compare
Choose a tag to compare

Changes since v1:

Apache License
Expression Editor UI library
SeContext: optional variable context to support specific search paths
New builtin function getVar(string varName, vector defaultValue)
return varName if variable exists, otherwise return defaultValue
Fixed compile and usage problems on Mac OS X
Use cmath instead of math.h
Safety checks on exponentiation and power
Updates to documentation / doxygen cleanup
Added pre-generated flex/bison files for use with Windows 7.
remap() takes 5 doubles, not 4 doubles and an int.
Fixed artifacts with voronoi function, when jitter is high
Added mutex to parser

(Internal orignal SeExpr v2.9)

support for function stats and querying

25 Jan 21:49
Compare
Choose a tag to compare

fix rad) function documentation type
Add ability to register function stats and query them. also allow querying sizes.
remove commented bison/flex stuff
fixes SEEXPR-166: crashes occurring when editing numeric vector values
fix duplicate header includes between seexpr and seexpr2

(Internal original SeExpr v2.11)

Initial release of basic expression library

27 Jul 22:08
Compare
Choose a tag to compare