lp:aqsis
- Get this branch:
- bzr branch lp:aqsis
Branch merges
Branch information
Import details
This branch is an import of the HEAD branch of the Git repository at git://aqsis.git.sourceforge.net/gitroot/aqsis/aqsis.
Last successful import was .
Whiteboard
contains submodules, which require nested tree support in bzr
Recent revisions
- 1430. By Chris Foster <email address hidden>
-
Bugfix 3094580: -echoapi crashes with procedurals
This bug was due to two problems:
* RibWriter unconditionally freed procedural data after printing the
procedural. This left the renderer with a dangling pointer.
* RibWriter doesn't know how to print custom procedurals which have been
dynamically loaded.The solution taken here is to turn off all handling of procedurals for
the RibWriter instance used for echoing the API.In order to make the output valid RIB, there's also some changes to the
TeeFilter class so that the RIB writer *End scope ending functions are
called after the main renderer's End functions. This ensures that
WorldEnd is printed after all procedurals are expanded. - 1429. By Chris Foster <email address hidden>
-
Fix recently introduced ricxx utils bugs
These bugs caused the -frames option to aqsis to no longer work:
Recent refactoring of the ParamListBuilder interface introduced some
function which interact badly with the older function signatures
[operator()(const char*, T*) is chosen over operator()(const char*, T)
when T = const char*, which isn't desired]. Simply removing the older
signatures fixes this problem.The OnOffFilter constructor was also removed recently but this needed to
be reinstated because the member m_isActive must be properly
initialized. - 1428. By Chris Foster <email address hidden>
-
Improvements to Ri::ParamList interface
A very typical usage of the Ri::ParamList:
:find*( ) functions seems to be
in finding types of the form "uniform type[1]", so I've adjusted the
API to make this common task as succinct as possible. The
ParamListUsage utility class has been modified to match.ParamListBuilder was also updated to allow construction of such uniform
types directly from an rvalue rather than requiring a pointer. - 1427. By Chris Foster <email address hidden>
-
Bugfix #3094582: miqser too strict to process RIB fragments
miqser doesn't process RIB fragments correctly, since the new API
validation filter was too strict with the scope checking. The fix was
to add an "Any" scope in which all requests are valid, and make that the
starting state for miqser.In addition this change relaxes the validation of some array lengths
in miqser for arrays which depend on the attribute state, since the
attribute state may not be known when processing RIB fragments. (For
example, the length of bicubic RiCurve varying parameters depends on the
current basis). Validation of array lengths is turned off completely
for RiGeometry since it's highly renderer specific. - 1426. By Chris Foster <email address hidden>
-
Remove RiPreWorldFunction and RiPreRenderFunction
RiPreWorldFunction has been replaced by a custom Ri::Filter class, and
RiPreRenderFunction is no longer used anywhere in Aqsis. Both of these
are aqsis-specific hacks, so it seems best to remove them now that they
are no longer needed. - 1425. By Chris Foster <email address hidden>
-
Bugfix #3389062: aqsis -d option broken
Calling a pre-world function from the renderer RiWorld implementation
doesn't work with the new RI validation filter stuff. This is because
the validation filter already thinks it's at world scope, so any
Ri* interface functions called by the pre-world function are rejected as
being inside the world scope.The fix was to move the pre-world stuff into a filter which hooks onto
the WorldBegin call. Details:* New Ri::RendererSer
vices:: addFilter( ) to add filters directly rather
than by name.
* Change Ri::Filter interface to be a bit easier to use - it can be
linked into a filter chain after construction. Also update the
createFilter api etc to be ignorant of the filter chain linking
process.
* Add new PassthroughFilter which just passes through the API calls - to
be used as a base class.
* Remove pre-world function from aqsis.cpp, and replace with a
PreWorldFilter class which inserts the necessary API calls into the RI
stream just before calling WorldBegin(). - 1424. By Chris Foster <email address hidden>
-
Fix display of odd sided images in piqsl
Due to the change to using Qt, images were sometimes displayed
incorrectly since Qt may require padding at the ends of scanlines
depending on the image size. The display buffer is now just a QImage to
fix this problem, and converting data to the display buffer is done in
the image class. - 1422. By Chris Foster <email address hidden>
-
Use tinyformat library for ErrorHandler formatting
This makes formatting errors with the Ri::ErrorHandler class much nicer,
and encourages error messages to be carefully formatted for clarity,
since the formatting tools are always available. In the old code, you
had to explicitly decide when to use boost::format to make the messages
more readable which meant "never" in practise.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)