I have no doubt in my mind that performing noise generation in a massively parallel fashion will yield much faster results. This is under the assumption the pixels can independently calculate themselves.RPG wrote:Much, much faster. .werkkzeug is a good assembly code. I wrote messy glsl code, but my video card about 20 times faster than my CPU. I use shaders to generate random noise and it is fast as hell. I dont think that .werkkzeug uses shaders to generate textures (it is quite slow on my Pentium IV) while my GPU renders 25 perlin noise textures in one second, over 120 cellular noise textures in one second, 1000 white noise textures, 10-20 gaussian blur filters.Taehl wrote:Faster than .werkkzeug?! That's a tall order...
Note, how long .frabrauch demos are loading due to texture generation.
When I can demonstrate better texture editor, you can compare .werkkzeug and my method. Of course, my program targeted on modern GPU's, but my GeForce 6600 works very well. It can easily generate 4096x4096 textures with supersampling (not too fast, but try to generate 4096x4069 texture in .werkkzeug or Genetica. .werkkzeug crashes, and Genetica uses 3-5 Gb RAM!) .
Procedural texture generator (concept)
- TechnoCat
- Inner party member
- Posts: 1611
- Joined: Thu Jul 30, 2009 12:31 am
- Location: Milwaukee, WI
- Contact:
Re: Procedural texture generator (concept)
Re: Procedural texture generator (concept)
Procedural generation — easy task for parallel execution on GPU. Non-parallel tasks I compute on CPU. Of course there is much work about improving quality of generators, maybe I have to use 32 bit per channel instead of 8 bit per channel — but LOVE doesn’t give me choice.
I think luajit with ffi may help: calling some OpenGL functions directly from lua. I started to develop engine, that uses power of luajit. Main advantage — using C calls inside lua program (for example, creating framebuffer with 32bit per channel) and possibility to load and use C libraries directly from lua.
I love lua because I can easily develop node editor using lQuery and lQuery UI in few lines of code.
I think luajit with ffi may help: calling some OpenGL functions directly from lua. I started to develop engine, that uses power of luajit. Main advantage — using C calls inside lua program (for example, creating framebuffer with 32bit per channel) and possibility to load and use C libraries directly from lua.
I love lua because I can easily develop node editor using lQuery and lQuery UI in few lines of code.
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- Joined: Mon Jan 11, 2010 5:07 am
- Location: CA, USA
- Contact:
Re: Procedural texture generator (concept)
That all sounds great. I wish you luck with it. I would be very, very happy if you ended up making a Love tool with which I could replace Genetica.
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
- kikito
- Inner party member
- Posts: 3153
- Joined: Sat Oct 03, 2009 5:22 pm
- Location: Madrid, Spain
- Contact:
Re: Procedural texture generator (concept)
And what is that?Taehl wrote:Genetica.
When I write def I mean function.
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- Joined: Mon Jan 11, 2010 5:07 am
- Location: CA, USA
- Contact:
Re: Procedural texture generator (concept)
kikito wrote:And what is that?Taehl wrote:Genetica.
Taehl wrote:Oooh, I like it. Have you ever used Genetica? That could be a source of inspiration for you. It's a damn good procedural texture program.
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Re: Procedural texture generator (concept)
I don't promise. Genetica is a commercial program, that costs many $$$. My project has no budget and has no team of programmers:)Taehl wrote:That all sounds great. I wish you luck with it. I would be very, very happy if you ended up making a Love tool with which I could replace Genetica.
I added two new filters: lighting and normal map generator.
This normal map is generating in real-time from source image (660 FPS, filter works less than 2 milliseconds!):
Lighting:
Who is online
Users browsing this forum: No registered users and 3 guests