[Bf-committers] Undergraduate Research

Scott Aufderheide saufderh at nd.edu
Mon May 20 07:15:00 CEST 2013


Hello everyone,

For this upcoming fall semester, I will be doing undergraduate research for
a professor who does some work in graphics and visual effects. Even though
this is for the fall, I was hoping to get a jump start on it during the
summer, but I have yet to choose a topic to delve into. I want to do
something with Blender as I have been using it for a couple years and
really enjoy it, plus I feel that I may be able to do something worthwhile
as I'll have at least seven months to dedicate to it.

I am very comfortable with C and C++, I am pretty familiar with python, and
I have some CUDA experience as well. For a project last fall, I looked at
implementing different noise functions (Wavelet vs Curl) for Blender's
smoke simulator to compare their effect on render times, and investigated
how they could be used to better simulate fire. For this past semester, I
just finished writing an addon for Blender that simulates swarm
intelligence using a flocking algorithm (I got the idea for the project
before I learned about boids particles). The addon takes user input to
define some swarm properties, and then parallelizes the computation of the
motion paths for each swarm object on the GPU using CUDA, and then animates
the objects.

I tried looking at the projects and todo pages, but I was somewhat confused
on what I found there. It seemed like many of things mentioned were for
previous releases, particularly since the phrases "...for 2.5/2.6..." were
found throughout, and I was wondering if anyone might be able to direct me
to more recent proposal and project areas.

I suppose the timing is a little awkward as the GSoC proposals are still
being reviewed, but a number of those projects seemed like they would be
very interesting. I was first looking at the modifier section under the
GSOC ideas since it said,

    "Modifiers are probably one of the best introductions to coding new
modeling tools. Modifiers
    have a well-defined API (DerivedMesh comes in, new DerivedMesh goes
out), so the student
    need learn only a small part of Blender's internals before becoming
productive.",

and learning Blender's internals is probably what intimidates me the most.
I was thinking of trying to implement something similar to
this<http://www.youtube.com/watch?v=u_2qKQpxCRw> as
a potential modifier project. I know that Blender currently has the
Fracture addon, but I feel like this is a very limited tool, where
something similar to Rayfire's Crack would be much more dynamic for
allowing users to break up objects. Two potential problems with this though
would be, first: that I have no idea about the legal
ramifications/restrictions on trying to copy (to a degree) what someone
else has done, albeit for a different program and we aren't trying to sell
it. And second: I noticed that in messing around with the fracture addon
that it slows down or even stops Blender when you try to break an object
too many times at once. I wasn't sure if this was from the addon trying to
compute too many things or Blender from trying to process the addon's
output to the viewport (I was only considering this second option as I
noticed Blender slowed down some when I tried creating too many swarm
objects simultaneously in my own addon). For this, I suppose I would have
to wait and see how the modifier performed and take it from there.

The other GSOC idea that seemed interesting to me was the thin fluids
feature for the fluid simulation. My only concern with this is that due to
my inexperience, I am not sure that I could fully complete it in the time
I'd have for the semester (again, Blender internal/integration fears). In
working with the smoke simulator before, I was quite a bit lost in
everything and kept my small changes to only two files for fear of breaking
everything when trying to recompile. I like the challenge of this project,
but I think I would need someone with some more experience who would be
willing to help guide me and be willing to put up with (probably) some
pestering and (potentially) noob questions.

All that being said, I know that someone else was interested in the thin
fluids feature as their own GSOC project. I think Ton said that the final
slot allocation due date was the 22nd, so I suppose I would have to wait
until then to see if thin fluids has been taken.

Additionally, I am looking into getting my feet wet with shaders or
textures or rendering. For the first two, I wasn't really sure where to
start looking for anything so I thought I might ask if anyone is doing work
or wants work to be done in those areas, and if so, if they might want to
discuss things further. And for rendering, I know a lot is being done with
Cycles right now, but I again was hoping that I might be able to talk with
someone on project ideas just because there is so much there.

My apologies on the length of this email, but I thought I should explain
myself a bit. My main hope in reaching out here is that no matter what I
might work on, I am hoping that I am able to find someone willing to
discuss problems and implementations in a mentor role for a while, despite
the fact that I am not part of GSOC.

Thanks for your time and all the work you guys do.

Scott Aufderheide
University of Notre Dame
Computer Science 2014


More information about the Bf-committers mailing list