lp:aqsis

Created by VCS imports and last modified
Get this branch:
bzr branch lp:aqsis

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
VCS imports
Project:
Aqsis
Status:
Development

Import details

Import Status: Suspended

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 .

Import started on pear and finished taking 1 minute
Import started on pear and finished taking 50 seconds — see the log
Import started on pear and finished taking 40 seconds — see the log
Import started on pear and finished taking 1 minute — see the log

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::RendererServices::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.

1423. By Chris Foster <email address hidden>

Fix zoomed cropped image position in piqsl

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.

1421. By Chris Foster <email address hidden>

Update BSD license headers to mention Aqsis

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers