Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
tripwire
Nov 19, 2004

        ghost flow

Zagrod posted:



A 3d game me and my friend are working on for our degree. Started from scratch, done in C++/DirectX. We're using Ageia PhysX for the physical simulation side of the things.

We're still in the process of begging our friends for textures and models, so far only the Cube we're in is fully done - doors and boxes have the same texture as the walls because we still don't have anything (good) to substitute it with.

Right now the brightness is pumped way up for us to see everything very clearly - The room itself is going to be darker with a little glow shader where the little lamps are. The engine is mostly finished so we're hoping for a smooth sailing up to the presentation.

I'm thinking of using physx bindings through Ogre for a project I'm working on. Have you found physx to be fast on physics? Is there any comparisons you can draw as to speed and ease of use between physx and other physics engines?

Adbot
ADBOT LOVES YOU

tripwire
Nov 19, 2004

        ghost flow

Zagrod posted:

Unfortunately, no as this is my first time working with a physics engine. Also, my simulation is pretty small, there are few objects which aren't terribly complicated in shape - so I can't really say how fast would it be for your project, if you're planning something in a bigger scale.

As far as ease of use goes it's OK. However, at least for me, you have to do a lot of cross-checking in documentation. For example, there's a whole lesson on Springs and Dampers, along with a compiled example, but when you go to another page about it, they tell you its deprecated and you need to use Distance Joints.

Thanks, good stuff to know.
Are you able to use the GPU to speed vector math/physics yet? Have they got around to enabling that, because I seem to remember that being like the killer selling point of it.

tripwire
Nov 19, 2004

        ghost flow

OneEightHundred posted:

The problem with accelerating physics calculation is the latency, which is still a bit too high for comfort when doing gameplay-critical physics.
I'm not doing gameplay critical physics!! I just want to accelerate those sick rear end symplectic partitioned range kutta integration algorithms from ODE but since physx is supposed to have some GPU future on the horizon I thought it was worth asking.

tripwire
Nov 19, 2004

        ghost flow

SuperFurryAnimal posted:

I've been developing techniques for the realtime procedural animation of assorted creatures for my Ph.D. The idea is that all animation is driven by the creature's embodiment in the environment, taking a lot of inspiration from AI, robotics and ethology.



Video from last year: http://www.youtube.com/watch?v=I1P_B65XW4I

Most of the work has concentrated on Spiders, although I'm currently extending the simulation to cover creatures of similar morphology (body close to ground, legs in parallel), such as insects and lizards.

Pretty please post more details!!!!!

tripwire
Nov 19, 2004

        ghost flow

SuperFurryAnimal posted:

I've written a decent summary of the simulation as it currently stands, but I can't get to it at the moment - I'll post it in the next few days.

Basically, the core technologies are a fully physically simulated figure (rigid body hierarchy with powered joints), inverse dynamics (limb movements), robotic/ethology inspired gait controllers, and a lot of self-organisation. The animation is a result of the (mostly indirect) feedback between many self-regulating simulatory components, which all act in some way to maintain balance.

This is so loving cool, do you mind if I bug you with questions on it in the future (working on a somewhat related project myself)?

tripwire
Nov 19, 2004

        ghost flow

Al Azif posted:

Pretty boring screenshot, but it was fun to write:



Conway's Game of Life, written in Haskell using OpenGL.

As someone who knows only the smallest bit about haskell, what would be different about writing a game of life implementation in it as opposed to in C?

tripwire
Nov 19, 2004

        ghost flow

Al Azif posted:

It's probably not that different for something as simple and mostly-stateless as this. You don't need to do memory management. It's probably more succinct; the whole thing is only 113 lines, 70 of which are for the display.


It's not that bad. It helps that in Life the next generation is a pure function of the current one.

Here's the central piece of state in the program:

code:
advanceGen :: IORef Field -> IO ()
advanceGen field = do
  f <- get field
  field $= nextGen f

  display field
  addTimerCallback 1000 (advanceGen field)
The only other impure functions are OpenGL stuff.
Wow, guess its time to start learning haskell.

tripwire
Nov 19, 2004

        ghost flow

Battle Bott posted:

I am crudely hacking out a raytracer in python. It can do spheres, and lights. That's it. I'm doing all of the math myself, no third party stuff except "math" (That means that it is really slow)




Click here for the full 1000x1000 image.


It was much easier than I thought it would be.

Thats amazing. Are you planning on sharing your source with anyone? I've always wanted to write my own raytracer but I've been daunted by how much work it seems to be.. would you be able to drop in some C extension code when youre finished to speed up the computationally intensive stuff? Can I see (pretty please!)

tripwire
Nov 19, 2004

        ghost flow

Battle Bott posted:

Yes! It is much easier than it looks, but there are a billion little ways to make it go fast. I just want to make it go right now, I don't care about speed. I'll share my code, but it would be better to look at a well designed one.

Uploaded:
http://bottlabs.org/dl/battlebott/Raytracer1.tar.gz

(I hope it works)
No documentation whatsoever, sorry.

Thanks (and Zakalwe too!)
I'm going through this and the PBR guys' code now :)

tripwire
Nov 19, 2004

        ghost flow
Hurray!

tripwire
Nov 19, 2004

        ghost flow

Roflex posted:

Going back to working on Generations.






Right now it just iterates over an entire 2d array, but I'm working on a simplified hashlife implementation (more suited to my needs, which is mainly identifying regions that have changed a lot and/or have unique structures), which involves looking at multiple layers rather than just regions of the current layer.
I don't know if this is the way you are doing it already but have you considered trying to get the heavy lifting done by the GPU? It seems like everything in game of life is just a texture anyway so it wouldn't be hard in theory to have the GPU do everything using GLSL or cuda or something.

tripwire
Nov 19, 2004

        ghost flow

ih8ualot posted:

I'm building a raytracer! :iamafag:


Click here for the full 1500x1200 image.


It's from scratch, so the file is self-contained. No OpenGL or anything like that. This is one of the prettier programs I've written.
What language are you using?

tripwire
Nov 19, 2004

        ghost flow

shodanjr_gr posted:

Here's a link to a small vid of my undergraduate disseration (as promised about a month ago :haw:).

Realistic underwater caustics and godrays

Sorry for the rapidshare, but I don't have access to our group's hosting at the moment in order to upload it (the current version of the project site is a bit out of date).

At some point in the future (after/if this gets published) I'll also post a link to the source + paper for those who care :P.
Put it on youtube!

tripwire
Nov 19, 2004

        ghost flow

shodanjr_gr posted:

This is a continuation of your work to add radiosity-based light mapping to the Quake 3 engine, right?

Looks great :)

That sounds like an awesome if very difficult project. Cool screens so far!

tripwire
Nov 19, 2004

        ghost flow

DLCinferno posted:

Hey guys I've been working on this for a few days now, one more keystroke and I'm done!

Wow, this project is turning into a monster. How many lines of source?

tripwire
Nov 19, 2004

        ghost flow

Dijkstracula posted:

My afternoon project to salvage what would otherwise have been a productive day at work:


Click here for the full 824x1121 image.


An IRC bot that displays a random ASCII Art Farts image based on search criteria in the image "caption". Not that technically impressive, but it was a good excuse to use mmap (I learned about it in my OS class but never needed to use it) and Net:IRC (whereas in my previous bots I just used raw TCP sockets).

Judging by how quickly it got kickbanned from my regular channels, I'd say it was a rousing success :v:
Very nice! ;)
Any chance you could hook me up with your source, I want to see how you used mmap.

tripwire
Nov 19, 2004

        ghost flow

AgentF posted:

'Sup, roguelike buddy?



You made dungeonminder? :aaa:

Good job!

tripwire
Nov 19, 2004

        ghost flow
Are you planning on sharing the code when you are done Scaevolus? I'd really love to see how you implemented that.

tripwire
Nov 19, 2004

        ghost flow
openGL is hard :qq:

Only registered members can see post attachments!

tripwire
Nov 19, 2004

        ghost flow

Scaevolus posted:

Glad to see you got it working-- what was the bug?

Well, I still haven't found the bug, and I'm not so sure it's working. That picture is from many thousands of generations into the simulation where it should be converging to look like the source picture but the fitness seems to stay the same at roughly 50% similar to the source, forever. This is what you'd expect to happen if there was zero evolutionary pressure, or if there was no way at all for the drawings to pass on fit genes to future drawings (or put another way, it seems like either the drawing or some aspect of the evaluation of the drawing is failing completely).

All it spits out is random canvas after random canvas with no improvements. :(

I know the genetic algorithm itself works because when I switch the rendering engine back to cairo it works like normal again.

tripwire
Nov 19, 2004

        ghost flow
A while ago I half finished my python based cuda/opengl version of that steepest descent triangle picture evolver.


Its actually pretty interesting to watch interactively. even though it suffers from the same terrible long term performance with such a dumb algorithm, no matter how much speed you throw at it rendering wise. Theres probably many ways it could be sped up GPU wise as I'm sure my attempt at cuda and opengl interop is very slow, but I'm I think it would be interesting to start fooling around with other reinforcement learning strategies and see how they handle the same general idea, or other approaches for image generation altogether.

Only registered members can see post attachments!

tripwire
Nov 19, 2004

        ghost flow

Da Gaspodin posted:

Demoscene (http://en.wikipedia.com/wiki/Demoscene) production I designed and mostly coded:

http://www.youtube.com/watch?v=0DCurP2a-FU

OpenGL + GLU + GLEW for graphics and libSDL for windowing / timing code. Easily portable to pretty much any OS that can compile those libs and support shaders.

The music uses a software synth called 4Klang by Alcatraz, and the visuals are mostly based on Lindenmayer system (L-system) fractals which are generated realtime and visualized in various ways.

Sick dude! Very nice effects. As someone who's trying to learn as much as they can about opengl, glu and l-systems, is there any chance you'd be willing to share your code with others? I'd love to know how you accomplished some of those 3d effects.

tripwire
Nov 19, 2004

        ghost flow

Dijkstracula posted:

As a mini-project in my computer vision class, I'm implementing an image-to-ASCII art generator that performs Canny edge detection and template matching over a bunch of characters in OpenCV. I'm sure there are tons of ways to improve it, but I'm trying to keep its implementation to only stuff we've discussed in class.

Here's my dog :3:

Click here for the full 1242x742 image.


Awesome! i've done really simple image to ascii converters before but I never did anything as complicated as canny edge detection. Is it possible I could see your code when you are done?

tripwire
Nov 19, 2004

        ghost flow

Dijkstracula posted:

So I've submitted it to the prof, so it's as done as it's likely going to be for the forseeable future :3: (if anybody is in CPSC 505 at UBC, keep your mitts off my project! :v: )


Awesome! Thanks a lot dude!

tripwire
Nov 19, 2004

        ghost flow

That Turkey Story posted:

Started fooling around with homebrew DS stuff today. Sup, Mandelbrot:



Takes a few seconds to render on the DS because I'm using software floating point, but still cool.

Thats awesome. Do you have any pointers on how to get started with DS homebrew stuff like this? Even being able to see how you did the mandelbrot would be really interesting to me.

tripwire
Nov 19, 2004

        ghost flow
Thanks a lot TTS!

tripwire
Nov 19, 2004

        ghost flow

Contero posted:



I've always wanted to write an app like this. You can just type whatever python code you want into the text box and press the run button.

Awesome!!! For the longest while I was trying to figure out how to set up a surface I could draw to interactively from within a pyqt window and I eventually gave up and settled on drawing to pngs on disk. Is there any way I could see your source code?

tripwire
Nov 19, 2004

        ghost flow

Contero posted:

It's actually not pyqt. I'm embedding the python interpreter into my C++ Qt program and using Boost::Python to expose functions to it. When I hit run it grabs the code from the editor and sends it to python:

code:
boost::python::exec(edit->document()->toPlainText().toLocal8Bit().constData(), nspace);
As for creating the surface, you might be able to replicate what I did in C++, which was to draw to an off-screen QImage, then once you want to swap buffers call setPixmap on your QLabel which is actually what's being displayed.

code:
// imageView is a QLabel, image is a QImage. I was testing out drawing to a larger QImage and then scaling down to reduce aliasing.
imageView->setPixmap(QPixmap::fromImage(image->scaled(640, 480, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)));
I spent a lot of time scratching my head trying to figure out how to display a QImage as a simple widget. It's not exactly straightforward.
Ah, thanks. That answers my question completely. Youre certainly right that its not straightforward how to get an interactive display going on in qt, especially for what seems like it would be a very commonly used function.

tripwire
Nov 19, 2004

        ghost flow

Avenging Dentist posted:

Oh, and here's a quickie using a couple different variation functions:



That is awesome!

tripwire
Nov 19, 2004

        ghost flow
Good job monsterland!

Avenging Dentist, how are you getting those pics out of the chaos game algorithm? I was inspired to try and duplicate that effect yesterday from reading about it on mathworld but the pictures it's been spitting out look nothing like what you've posted. It's possible my implementation is really buggy, but are you doing anything different algorithmically to get that look?

tripwire
Nov 19, 2004

        ghost flow

Avenging Dentist posted:

Stealing more poo poo from the fractal flame algorithm (log scaling and colors):



I know I've said this already, but that is awesome!

On a related note, can you think of any way to shoehorn the fractal flame colouring algorithm into the original regular polygon chaos game algorithm? I tried colouring it a simple gradient map based on how far each new point is from the previous but the results look terrible. The fractal flame scheme depends on there being multiple different functions for generating a new point and colouring it based on function used to generate it.

Do you think it might work to colour the points generated from a standard chaos game by some category, like which vertex they were drawn towards maybe?

tripwire
Nov 19, 2004

        ghost flow

The Red Baron posted:

My littlest python compiler is starting to get baby teeth :allears:

code:
class Fartz(object):
  def __init__(self, hurf):
    self.durf = hurf
    
  def __call__(self, bar, baz, *args, **kwargs):
    print(bar, baz, self.durf, args, kwargs, sep=', ')

x = Fartz('abcd')

asdf = {'baz': 'world', 'barf': 'bag'}
pos = 'hello',
x(test=555, *pos, **asdf)
code:
hello, world, abcd, (), {'test': 555, 'barf': 'bag'}
All functions are lazily JIT compiled with LLVM and are thus pretty much as fast to invoke as the C++ runtime functions (especially since those have to go through my Boost.Python-ripoff indirection layer first). No type specialization or anything fancy like that yet, though.
Thats incredible! I'm really excited at how far you've come and I can't wait to see what your next update will be.

tripwire
Nov 19, 2004

        ghost flow

tef posted:



It was accepted :toot: :woop: http://js1k.com/demo/506

Congrats!

tripwire
Nov 19, 2004

        ghost flow
Nice use of comic sans

tripwire
Nov 19, 2004

        ghost flow

Your Computer posted:

If you decide to, I'd love to hear how you do it! I'm a real novice at this, both to fractals and to OpenGL/graphics programming in general. It's just so darn interesting, I wish I had some good resources I could learn more from (Currently using wikipedia!)

Also, stay away from nehe. Just trust me on this.

tripwire
Nov 19, 2004

        ghost flow

clockwork automaton posted:

So I participated in a 24-hour game coding competition
.
.
.

Thats awesome!

tripwire
Nov 19, 2004

        ghost flow

Inverse Icarus posted:

Having a ball loving with this.

How are you using it? It doesn't seem like the ! commands actually output anything to anywhere, and theres no "p" (presumably print?) command like there is in ultra-inquisitors hello-world example.

tripwire
Nov 19, 2004

        ghost flow

Aleksei Vasiliev posted:

My VPS's netblock is on YouTube's shitlist so I have to fill out captchas to validate myself as not evil and download videos. youtube-dl, the usual cli downloading program, just fails on them. So I wrote a hacky version of it in Java and added captchas.


Click here for the full 787x562 image.


And learned that Google's captchas are a hundred times worse inside a terminal.
Thats awesome

tripwire
Nov 19, 2004

        ghost flow

holy hell

Adbot
ADBOT LOVES YOU

tripwire
Nov 19, 2004

        ghost flow

YO MAMA HEAD posted:

Are you sure you mean "manually" ?

These frame rates are murder

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply