Jump to content
mondi

OpenGL renderer

Recommended Posts

Another teaser - 1 min or so.

http://dyskinetic.com/stest_002/

This whole compression game is an art in itself.

PS: I can provide a mirror if you want.

I'm still playing with various output settings, I think I can get the whole thing into about 500MB with decent quality, which my host should be able to handle. I'll definitely hit you up if it looks like I'm running out of bandwidth though :)

As for the renderer - still messing around with the more abstract side of things codewise. I really want to get a functional "production ready" version together so I can put this out for testing. A big test will be porting it all to Linux / Windows, although thankfully the lions share of OSX specific code is for window / application management, which is unnecessary for the Houdini DSO.

Is there a preferred Linux distribution for running Houdini? I'm most familiar with Debian / Ubuntu but if people prefer SUSE / Red Hat, I should probably look to install those instead..

Edited by mondi

Share this post


Link to post
Share on other sites

All the stuff you are doing with this project mondi is just amazing, really good.

Is the project still alive, any plans for an upcoming release???

Is just my feeling or I think that now that Houdini has a complete rewritten opengl engine, one of the thing Houdini needs is stuff like the things done by mondi?

Keep the good work.

Share this post


Link to post
Share on other sites

Wow, it's been awhile :)

I've been in the middle of a couple of pretty large art projects, as well as jetting around a little (not as glamorous as it sounds) for work, so development has definitely slowed down a little.

News since the last post:

1 - Completely rewrote the base architecture to use a really, really modular plugin system, so any part of the core / any specialized module can be overridden really easily now. This will make it super easy to add stuff like D3D support etc, as well as really easy to add test modules etc - as nothing need interfere with the main codebase

2 - Working on a script subsystem, that uses plain text to build both material techniques, as well as the full blown renderer. So, very soon it will be possible to add effects / custom renderers / custom shading etc with simple script files, with no slowdown. This is easily my favorite new bit, as eventually it'll allow for craziness like switching renderer mid-stream, compositing the results and using that as the input for an effect down the line .. etc etc.

Just looking to replicate the current render pipeline for now though :), which is coming along well.

3 - Linux port : I'm using Ubuntu / Debian as my test beds .. Like I asked earlier, if there's another more popular distro, I'd like to hear it so I can test ..

4 - Windows port - Still putting this off as I don't have a Windows license and I don't want to develop for beta / RC operating systems. I've got some 'theoretical' code written though.

There's a fair amount of stuff there, but it looks like I might have a good chunk of time coming up to do this, so I'll be trying to get something releasable done then. Sorry not to post dates, but things are a little crazy right now..

M

All the stuff you are doing with this project mondi is just amazing, really good.

Is the project still alive, any plans for an upcoming release???

Is just my feeling or I think that now that Houdini has a complete rewritten opengl engine, one of the thing Houdini needs is stuff like the things done by mondi?

Keep the good work.

Share this post


Link to post
Share on other sites

After some experiments, I've decided to keep the new scripting language to operator definitions, and anything that needs super tight integration with the innards, and am implementing a python backend for the renderer, as well as general scripting. It doesn't really change much, as the "plugin" system was pretty much built to be accessed from scripts anyway, so its simply a matter of providing the python abstraction layer.

With a little luck, I'll be restarting serious dev work over the weekend / next week.

Until then: Fun with PBR

post-4129-1244240563_thumb.jpg

Share this post


Link to post
Share on other sites
Until then: Fun with PBR

That looks brilliant! Great to see your progress on this.

Share this post


Link to post
Share on other sites

Quite interesting the new architecture mondi.

My understand is that you have something similar to SOHO but for your render engine???

That means that you are using your scripting layer to translate from houdini to the render?

Looking at your cute images I can see that you are doing most of your render test wit a lot of primitives, will be really inetersting to see a short video with a turntable of one of those heavy models from the stanford library?

Just to see how the render engine deal with lots of polygons cos in my opnion this is a a great bottleneck in Houdini, it doesn

Share this post


Link to post
Share on other sites

Ooh - full disclosure: While I did use some code to generate the models for the last image, the primary rendering was Mantra. Sorry for the confusion - although it did get me looking into the possibility of realtime PBR - more on that later ;)

Quite interesting the new architecture mondi.

My understand is that you have something similar to SOHO but for your render engine???

That means that you are using your scripting layer to translate from houdini to the render?

I do all the translation for the viewport renderer in C to get stuff done as quick as possible. It's quite possible to do it in script (in fact the first versions of all this were ROP only - so they used SOHO for all the output) but for heavy models this takes far too long to maintain any interactivity.

The output module is similar to SOHO. There's a separation between the renderer technique, and the actual output driver, so whether you use the built in techniques (currently just simple multi-pass and deferred: both geared at realtime work) or the script technique, you can still write to a variety of output drivers - So just like SOHO, you could write a script that translates the data to any external renderer.

Looking at your cute images I can see that you are doing most of your render test wit a lot of primitives, will be really inetersting to see a short video with a turntable of one of those heavy models from the stanford library?

Just to see how the render engine deal with lots of polygons cos in my opnion this is a a great bottleneck in Houdini, it doesn

Share this post


Link to post
Share on other sites

Haha, me and my big mouth :)

post-4129-1244329728_thumb.jpg

Disclaimers:

1 - Like I said, it's not that quick, but there's absolutely no optimization going on (To the point where I'm uploading each unique vertex, rather than supplying an index buffer and point list).

2 - As you can see, changing parameters forces a cache rebuild, which is probably the slowest part of the whole process.

3 - Im literally plugging the vertex data into a simple material / uv set. There are obvious lighting errors because I'm not supplying any semblance of correct normal data - This is not Buddha at his most aesthetically pleasing ;)

So with all that in mind:

http://dyskinetic.com/odforce/gl_mv/

Enjoy.

Edited by mondi

Share this post


Link to post
Share on other sites

Keep in mind that using the Tri-Strip SOP will speed everything up. It puts the geometry into a format that is optimized for passing quickly through the hardware rendering. (But only use it if the geometry is not changing as it takes time to compute per frame.)

Also, if you use the Tri-Strip SOP don't put the render flag on it as it won't render properly to Mantra, etc.

-Craig Hoffman

Share this post


Link to post
Share on other sites

You're quite right, I really should be converting to tri-strips for static models - and the renderer supports pretty much anything you can throw at it geometrywise. It's just that most of the stuff I've been doing is animated, and quite heavy in terms of cook-time. I've been avoiding any unnecessary conversions at the modeling level, so I tend to forget that :)

Good news is - I finally got some time to work on this today. The core library is now completely ported to linux and working well. The hardest part is now down, which was writing the Makefile generator and the component factory, so it should be a pretty straightforward matter to port the older stuff to the new improved system.

With any luck I'll be able to get a linux beta together this coming week - fingers crossed :)

Share this post


Link to post
Share on other sites

odblog: v1.

After some success with testing / planning, started porting the the "old" renderer to the new system - So far I have all the vbo, fbo, shader, and context (osx) functionality in place. It's a little convoluted at the moment to allow for both scriptability and a future upgrade to full OpenGL 3.0 specs, but nothing unmanageable.

Next up:

1 - Getting the new image system in place( textures and renderbuffers etc )

2 - Moving the materials / render techniques code to separate modules

3 - Updating and rewriting the basic shaders and base scripting to reflect all the updates.

4 - Getting the linux stuff (GL context, basic windowing / input etc) written and tested

5 - Updating the Houdini renderer for all the new updates.

I'd say the week is well and truly spoken for :)

Share this post


Link to post
Share on other sites

It's a little sad that I only ever update this thread with reasons why nothing's happening :)

I'm in the middle of production again, writing software for a performance at the Bordeaux Art & Architecture Biennale. Happily, a lot of the work I'm doing involves working on the underlying framework, but I just don't have time to revamp the Houdini side of things at the moment. I should be done at the end of the month, so hopefully I'll have something new to show then ;)

As an aside - the piece I showed stills from earlier in the thread is playing this week at SIGGRAPH in the 2nd Visual Music reel (återbesök) - Hope someone gets to see it.

Share this post


Link to post
Share on other sites

It's a little sad that I only ever update this thread with reasons why nothing's happening :)

No worries man all the stuff you are doing is just amazing.

Just waiting to have a version in linux or osx for testing, it looks really interesting and the opengl viewport in Houdini is one of this things in the tool that needs a lot of improvement, so thanks for all your effort on this project.

cheers!

Share this post


Link to post
Share on other sites

So awesome! I'm loving it. Have you ever had any success with this on OS X yet?

And that last pbr image is beautiful

Jonathan

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×