Inyo textures

User support for JPatch

Inyo textures

Postby pndragon » Fri Jan 02, 2009 12:10 am

I've been using Inyo for awhile for test shots, all with solid colors. How do I get Inyo to use the beanshell textures in the textures folder in JPatch 0.4? For that matter, I could use a tutorial for writing my own textures for Inyo... if you could point me in the right direction, I would be grateful.

Also...when will Marin be ready for a test drive?

--- Jim
"We're so sorry, Uncle Albert,
But we haven't done a bloody thing all day."
--- Paul McCartney
Posts: 591
Joined: Sun Dec 05, 2004 1:27 am
Location: North Carolina

Re: Inyo textures

Postby dcuny » Fri Jan 02, 2009 9:58 am

pndragon wrote:How do I get Inyo to use the beanshell textures in the textures folder in JPatch 0.4?

I'm going to defer to Sascha on this one. In order to use textures, Inyo relies on JPatch to pass the proper uv coordinates. There were some problems with this. My recollection is that there were issues with the values that JPatch was passing. There may have also been some problems with how Inyo evaluated the positions - I think it use barycentric values. It's been a long time since I've looked at the code, and I believe I relied on a patch from Sascha to get the rock texture working for my animation.

Also...when will Marin be ready for a test drive?

There are a couple of things that are holding me up:
  • I promised someone I'd have a lipsync module written by Christmas. I missed the deadline, and I really need to get the code finished for him.
  • I don't know the current state of the shading code. I suspect it's pretty borked, and I should try releasing it without user programmability.
  • The subdivision code is pretty slow. I needs to be replaced with Sascha's code.
  • There 's a problem with the bounding box code, which results in some buckets not rendering things inside of them.
  • I need to add the license to the source code.
  • I'm still sick.
With the existence of several free and open source Renderman compatible renderers, I don't think there's any point in going that route with Marin. My lust for a photorealistic renderer really started from seeing images created with the Arnold renderer. Arnold was pretty much the first global illumination renderer that was fast enough to be practical for animation. From what I was told, it was pretty much a traditional pathtracer which used skydome lighting (which typically involved rays using a single bounce before hitting the skydome) and irradiance caching, which sped things up a whole lot. I never got irradiance caching to work properly with Inyo. :?

Inyo started out as an attempt to clone Arnold. Then ambient occlusion came along, and showed that you could get the same sort of effect without having the overhead of path tracing. Then someone figured out how to approximate ambient occlusion, and you no longer needed a raytracer at all. Finally, they've gotten screen-based ambient occlusion to the point where it potentially rivals raytraced ambient occlusion. And each of these discoveries has made me rethink my approach.

I don't really have a strong math background, and I'm not sure I'm the best person to actually try to write a renderer. Getting a renderer to work fast, and work well, is something that takes a lot of time and effort. There are already professional renderers (like 3Delight) that do an amazing job. So at this point, if I can get a renderer that's "good enough" - using cheats like SSAO and PCF instead of "true" AO and raytraced shadows - I'm going to call it a success.

By "good enough", watch this demo video of SSAO, you'll see the contact shadows around the the dragon pop in and out. It's not something I noticed until I'd seen the animation several times. In practice, this may not be a noticeable issue. If that's the case, I'll claim it's "good enough" and move on. If not... well, back to the drawing board. :(
Posts: 2902
Joined: Fri May 21, 2004 6:07 am

Re: Inyo textures

Postby sascha » Sun Jan 04, 2009 12:16 pm

I'm going to defer to Sascha on this one. In order to use textures, Inyo relies on JPatch to pass the proper uv coordinates.

Ok, I think there are a bunch of misconceptions here, so I'll try my best to resolve them:

* The texture system I've added to Inyo has got little to do with BeanShell, it's an Object Oriented framework written in plain Java. However, to setup the objects that define the texture, BeanShell turned out to be quite handy, so I've used it to do just that: create the objects that define the texture and pass it to the renderer. After that point there is no more script-code involved, and all computations are done from pure Java code (i.e. a lot faster than if they were scripted).

* It does not rely on any U/V coordinates, in fact, I'm not sure if there's any U/V support at all (I'd have to check). You're right that the "production" version of JPatch doesn't support U/V mapping too. I've hacked in a quick-and-dirty solution for "The Impostor" (the checkerboard texture on the floor, wrapped over the robot), but this was for POV-Ray and was hard-coded into JPatch, so it's pretty much useless for everyday usage.

* What the Inyo texture system does support (and what's - alas - missing in POV-Ray) is so called texture-space or reference-geometry. To have a 3D texture stick to an object that's animated (and possibly changing its shape), you'll have to pass a second set of (3D!) coordinates to the renderer. While the first set of coordinates is used to draw the geometry, the second set is used for texturing. It is called reference geometry and usually doesn't change. Otherwise, when using 3D procedural textures, the objects would "float through" the texture, but using reference geometry makes the texture stick to the object. IIRC JPatch always exports the reference geometry to Inyo.

* IIRC David continued Inyo development with his codebase, that did not include my patches. Therefor he had to patch Inyo again when he wanted to use procedural textures in his Moai animation.

The downloadable JPatch 0.4 should work fine (with the Inyo version integrated) when started from the Animator. I'll look into it...
EDIT:Argh! Apparently it does not, while the 0.4 version I've got in Eclipse does. Hmmm... I'll upload it to the webserver...
Site Admin
Posts: 2792
Joined: Thu May 20, 2004 9:16 am
Location: Austria

Return to Support / Help

Who is online

Users browsing this forum: No registered users and 2 guests