Write a BRL-CAD Ray Tracing Shaders tutorialBRL-CAD
Status: ClosedTime to complete: 48 hrs Mentors: SeanTags: tutorial, ray tracing, 3d, graphics

BRL-CAD includes numerous shaders that let you specify different optical effects during ray tracing.

This task involves writing a brief tutorial that describes what shaders are and how one specifies them for geometry. How shaders are specified is already described in detail in the Introduction to MGED document.

Code:

  • src/liboptical/sh_*.c (for available shader names and corresponding options)

References:

Uploaded Work
File name/URLFile sizeDate submitted
Shaders tutorial.docx337.7 KBDecember 16 2012 23:34 UTC
Shaders tutorial.docx963.5 KBDecember 17 2012 17:50 UTC
Shaders tutorial.docx1.0 MBDecember 17 2012 19:20 UTC
Shaders tutorial.docx865.5 KBDecember 20 2012 09:21 UTC
Comments
Andrei Tudoricaon December 15 2012 11:29 UTCTask Claimed

I would like to work on this task.

Andrei Tudoricaon December 15 2012 11:30 UTChey

I would like to work on this task if you can explain me what is the diffrence between the doc file http://brlcad.org/w/images/2/2c/Optical_Shaders.pdf and what I have to do...


 

Andrei Popescu on December 15 2012 11:45 UTCTask Assigned

This task has been assigned to Andrei Tudorica. You have 48 hours to complete this task, good luck!

Sean on December 16 2012 05:46 UTCIt's not a tutorial

So that pdf is not really a tutorial.  It's an overview.


See some of our other completed GCI tutorial tasks for ideas, but basically we're looking for something more succinct that *teaches* what shaders are, describes how to use them (especially the stack shader), and gives a few examples.


 

Andrei Tudoricaon December 16 2012 23:34 UTCReady for review

The work on this task is ready to be reviewed.

Sean on December 17 2012 05:59 UTCvery close

That's very close to what we're looking for, but is lacking in just a couple areas.  First off, the tutorial jumps into shader panel with some unknown example geometry (stem1.r).  The tutorial should give a concrete example.  Create a sphere (make my.sph sph), create a region (r sph.r u my.sph), go to the shader panel and pick sph.r from select from all, etc.


Then show the default shader (raytrace control panel), then show setting a non-default shader, like glass, then show stack (e.g., checker+plastic).


The last two pages that cover the goblet don't really help teach anything because you didn't create the goblet with them.  That's what makes a simple sphere example better, since you can take them from start to finish and they can follow along at home.


Make sense?


 

Sean on December 17 2012 06:00 UTCDeadline extended

The deadline of the task has been extended with 2 days and 0 hours.

Sean on December 17 2012 06:00 UTCTask Needs More Work

One of the mentors has sent this task back for more work. Talk to the mentor(s) assigned to this task to satisfy the requirements needed to complete this task, submit your work again and mark the task as complete once you re-submit your work.

Andrei Tudoricaon December 17 2012 17:51 UTCReady for review

The work on this task is ready to be reviewed.

Andrei Tudoricaon December 17 2012 17:53 UTCReady for review

The work on this task is ready to be reviewed.

Andrei Tudoricaon December 17 2012 17:53 UTC:D

done

Sean on December 17 2012 18:41 UTChrm...

That's looking better, but you don't show the making of the sphere, the making of the region, or the steps for using the stack shader.  You clearly did them, so you're just missing the text and images that show others how to do what you did.


 

Daniel Rossberg on December 17 2012 18:50 UTCTask Needs More Work

One of the mentors has sent this task back for more work. Talk to the mentor(s) assigned to this task to satisfy the requirements needed to complete this task, submit your work again and mark the task as complete once you re-submit your work.

Andrei Tudoricaon December 17 2012 19:20 UTCReady for review

The work on this task is ready to be reviewed.

Andrei Tudoricaon December 17 2012 19:20 UTC.

I think it is all you asked for :D

Sean on December 17 2012 23:24 UTCsorta

So it looks like you did the first half, showing how to create the sphere region, but not the second piece -- showing how to use the stack shader.  Also, you don't show how you made the renderings and the blue glass one is not visible.


A tutorial needs to be completely reproducible.  The easiest way to do that from what you have now for the renderings is to tell them before the first default sphere rendering to open the raytrace control panel and hit the raytrace button OR to type "rt" in the command window (and instead use that window screenshot).


In order to reproduce the glass sphere, you need to show what the combination editor looks like to get a sphere that looks like that.  The image you have on bullet 6 looks like default parameters so it might better belong in section 5.


Similarly in section 7, it needs to show the stacked shaders and all their parameters.  You should note that the ordering of shaders matters (e.g., that you must put plastic after checker to make it look 3D).  You totally punted in that section when you got to "Steps"... you're supposed to be showing them an example. :)


Finally, the end of the article shouldn't directly link to those pdf files at the end.  Just link tell them there's an Intro to MGED and Shaders presentation at brlcad.org/wiki/Documentation


 

Sean on December 17 2012 23:24 UTCTask Needs More Work

One of the mentors has sent this task back for more work. Talk to the mentor(s) assigned to this task to satisfy the requirements needed to complete this task, submit your work again and mark the task as complete once you re-submit your work.

Andrei Tudoricaon December 18 2012 21:03 UTC:)

I am alomst done but I am not home until tomorow... (it is 23:03 here) so I will need some more time if there's no problem :D... 

Sean on December 19 2012 01:26 UTCDeadline extended

The deadline of the task has been extended with 1 days and 0 hours.

Andrei Tudoricaon December 20 2012 09:15 UTCReady for review

The work on this task is ready to be reviewed.

Melange on December 20 2012 14:04 UTCNo more Work can be submitted

Melange has detected that the deadline has passed and no more work can be submitted. The submitted work should be reviewed.

Sean on December 20 2012 14:13 UTCfew more tweaks, much better

That's looking a lot better Andrei.  I see you went for half command, half graphical.  It's a reasonable compromise.  There are more changes I'd like to see, but you've put in good enough effort on this specific task to call it complete.


I'll post a follow-up task for the additions and changes I have in mind.  You're welcome to claim it or let someone else build on your work.  Thanks for all your efforts cleaning this up.

Sean on December 20 2012 14:14 UTCTask Closed

Congratulations, this task has been completed successfully.

Sean on December 20 2012 14:50 UTCfollow-on task

A follow-on task has been posted:


http://www.google-melange.com/gci/task/view/google/gci2012/8082205