hairgen examples

View: New views
5 Messages — Rating Filter:   Alert me  

hairgen examples

by Trevor Lovett :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

If anyone has some .ribs on hand that use the hairgen I'd like to have something that beats up the new curves code.  We have that one bug I pointed out a few emails ago (with the overlapping grids in sharp turns).  We may find more with a real test, and I'm curious what the speedup will be in any case.
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Aqsis-development mailing list
Aqsis-development@...
https://lists.sourceforge.net/lists/listinfo/aqsis-development

Re: hairgen examples

by Chris Foster-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sat, Aug 15, 2009 at 6:40 AM, Trevor Lovett<trevlovett@...> wrote:
> If anyone has some .ribs on hand that use the hairgen I'd like to have
> something that beats up the new curves code.  We have that one bug I pointed
> out a few emails ago (with the overlapping grids in sharp turns).  We may
> find more with a real test, and I'm curious what the speedup will be in any
> case.

Here's a test case which uses hairgen.  You'll have to make sure that
hairgen is actually in the procedural path (this is fixed by default in the
latest trunk, but your branch won't be able to find it by default).

I haven't done a huge amount of testing, but turning on the hair dicing rather
than the default curves dicing seems to cause a segfault.  When I comment out
the displacement shader the render works, so I suspect it's something to do
with the primvars which are being added to the curves by hairgen - for
instance, hairgen adds a constant class primvar "constant vector endRoughRand"
to each curve for use in the endrough displacement shader.

To weed out the bugs you could attach one of every class of primvar to a
curve, and make a surface shader which uses them.

Without the displacement shader, the render works ok, but the speed is a lot
slower than the default curves at this stage.  I'm sure we can fix this up
with some work - what you're doing definitely *should* be faster we just need
to get the parameters right and eliminate any bugs.  One parameter of interest
would be the grid size.

Cheers,
~Chris.


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Aqsis-development mailing list
Aqsis-development@...
https://lists.sourceforge.net/lists/listinfo/aqsis-development

hair.tgz (2K) Download Attachment

Re: hairgen examples

by Trevor Lovett :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

For a control I did a fresh checkout of aqsis:
( git clone git@aqsis1.osuosl.org:aqsis_gsoc.git ).  Built via 'make package'
However running hair_test.rib gives me a parsing errors and a critical Bus Error.  Do I need to pull code from somewhere else?  Use a specific configuration option?

Here's the output:

aqsis-1.5.0 : hair$ find *.sl | xargs aqsl
... endrough.slx
... hair_gritz.slx
aqsis-1.5.0 : hair$ aqsis hair_test.rib
hairgen: XqParseError error (ribparser.cpp, 95): Parse error at quad.rib: 26 (col 7): expected request before string [= "bezier"]
hairgen: XqParseError error (ribparser.cpp, 95): Parse error at quad.rib: 28 (col 8): expected request before string [= "cubic"]
hairgen: XqParseError error (ribparser.cpp, 95): Parse error at quad.rib: 1 (col 16): expected request before '['
hairgen: XqParseError error (ribparser.cpp, 95): Parse error at quad.rib: 26 (col 7): expected request before string [= "bezier"]
Bus error

I updated the library path and it can find hairgen.so. -t

On Sat, Aug 15, 2009 at 7:34 AM, Chris Foster <chris42f@...> wrote:
On Sat, Aug 15, 2009 at 6:40 AM, Trevor Lovett<trevlovett@...> wrote:
> If anyone has some .ribs on hand that use the hairgen I'd like to have
> something that beats up the new curves code.  We have that one bug I pointed
> out a few emails ago (with the overlapping grids in sharp turns).  We may
> find more with a real test, and I'm curious what the speedup will be in any
> case.

Here's a test case which uses hairgen.  You'll have to make sure that
hairgen is actually in the procedural path (this is fixed by default in the
latest trunk, but your branch won't be able to find it by default).

I haven't done a huge amount of testing, but turning on the hair dicing rather
than the default curves dicing seems to cause a segfault.  When I comment out
the displacement shader the render works, so I suspect it's something to do
with the primvars which are being added to the curves by hairgen - for
instance, hairgen adds a constant class primvar "constant vector endRoughRand"
to each curve for use in the endrough displacement shader.

To weed out the bugs you could attach one of every class of primvar to a
curve, and make a surface shader which uses them.

Without the displacement shader, the render works ok, but the speed is a lot
slower than the default curves at this stage.  I'm sure we can fix this up
with some work - what you're doing definitely *should* be faster we just need
to get the parameters right and eliminate any bugs.  One parameter of interest
would be the grid size.

Cheers,
~Chris.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Aqsis-development mailing list
Aqsis-development@...
https://lists.sourceforge.net/lists/listinfo/aqsis-development



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Aqsis-development mailing list
Aqsis-development@...
https://lists.sourceforge.net/lists/listinfo/aqsis-development

Re: hairgen examples

by Chris Foster-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Aug 16, 2009 at 4:12 AM, Trevor Lovett<trevlovett@...> wrote:
> For a control I did a fresh checkout of aqsis:
> ( git clone git@...:aqsis_gsoc.git ).  Built via 'make
> package'
> However running hair_test.rib gives me a parsing errors and a critical Bus
> Error.  Do I need to pull code from somewhere else?  Use a specific
> configuration option?

No, I would have expected this to just work if you're using the master branch
from osuosl - it works fine on my machine.  To avoid these problems, let's
ditch hairgen for the moment, and I'll just send you a RIB file (off list,
since it's a little large) with the generated RIB inside.

>
> Here's the output:
>
> aqsis-1.5.0 : hair$ find *.sl | xargs aqsl
> ... endrough.slx
> ... hair_gritz.slx
> aqsis-1.5.0 : hair$ aqsis hair_test.rib
> hairgen: XqParseError error (ribparser.cpp, 95): Parse error at quad.rib: 26
> (col 7): expected request before string [= "bezier"]
> hairgen: XqParseError error (ribparser.cpp, 95): Parse error at quad.rib: 28
> (col 8): expected request before string [= "cubic"]
> hairgen: XqParseError error (ribparser.cpp, 95): Parse error at quad.rib: 1
> (col 16): expected request before '['
> hairgen: XqParseError error (ribparser.cpp, 95): Parse error at quad.rib: 26
> (col 7): expected request before string [= "bezier"]

You can ignore these errors; they occur because hairgen only knows about a
subset of standard RIB and it's trying to parse quad.rib.  I should fix it to
just quietly ignore them unless a verbose option is turned on or something...

> Bus error

Ugh, a bus error is rather like a segfault isn't it?  To find out where, I'd
build a debug build and run aqsis under gdb.  That should tell you precisely
where the error occurs.

~Chris.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Aqsis-development mailing list
Aqsis-development@...
https://lists.sourceforge.net/lists/listinfo/aqsis-development

Parent Message unknown Re: hairgen examples

by Trevor Lovett :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ok, I don't know if this merits jumping up and down yet, but with the latest fixes (not committed as of yet), it doesn't hang in hair-mode and I get a speedup of  > 30%.  The problem is that the output image looks over-exposed.  Any theories why that could be, just based on looking at the images?

I believe EnvVars_Ng is being diced properly--and EnvVars_N is not used.

Attached "hair-mode.png" (my build w/ hair-mode)
and "standard.png" (clean build -- no hair mode)

On Sun, Aug 16, 2009 at 12:55 AM, Chris Foster <chris42f@...> wrote:
> No, I would have expected this to just work if you're using the master branch
> from osuosl - it works fine on my machine.  To avoid these problems, let's
> ditch hairgen for the moment, and I'll just send you a RIB file (off list,
> since it's a little large) with the generated RIB inside.

Here's the RIB file with 10000 hairs generated by the procedural.




------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Aqsis-development mailing list
Aqsis-development@...
https://lists.sourceforge.net/lists/listinfo/aqsis-development

hair-mode.png (158K) Download Attachment
standard.png (165K) Download Attachment