[00:00:55] *** prophile has quit IRC [00:50:57] *** prophile has joined #openal [00:50:57] *** ChanServ sets mode: +v prophile [01:09:01] *** prophile has quit IRC [01:12:47] *** barra_ has quit IRC [01:30:28] * KittyCat is away: sleep [03:07:56] *** kb1ooo has joined #openal [03:07:56] *** ChanServ sets mode: +v kb1ooo [03:23:03] *** wild13 has joined #openal [03:23:03] *** ChanServ sets mode: +v wild13 [03:23:14] <wild13> KittyCat [03:28:25] <wild13> omg i figured out a way to create a distortion effect [03:28:25] <wild13> as well as echo [04:39:23] <wild13> When ever you get back KittyCat: it would be extremly easy to pull off a echo effect we could use multiple buffers and buffer the same information 3 or 4 times and we got are echo :) [04:45:09] *** wild13_ has joined #openal [04:45:09] *** ChanServ sets mode: +v wild13_ [04:46:48] *** angasule has joined #openal [04:46:48] *** ChanServ sets mode: +v angasule [04:47:51] *** angasule has quit IRC [05:29:51] *** Walt_ is now known as CatOfJessi [05:30:41] *** CatOfJessi is now known as Walt_ [06:42:01] *** jvalenzu has quit IRC [07:03:11] *** wild13_ has quit IRC [07:04:13] *** wild13 has quit IRC [08:32:44] *** juanmabc has quit IRC [10:00:23] *** prophile has joined #openal [10:00:23] *** ChanServ sets mode: +v prophile [11:02:30] *** barra_away has joined #openal [11:02:30] *** ChanServ sets mode: +v barra_away [11:30:17] *** barra_away is now known as barra_ [11:58:57] * KittyCat is back. [13:12:47] *** Walt_ has quit IRC [13:17:09] *** juanmabc has joined #openal [13:17:09] *** ChanServ sets mode: +v juanmabc [13:53:48] *** Walt_ has joined #openal [13:53:48] *** ChanServ sets mode: +v Walt_ [14:12:33] *** barra_ has quit IRC [14:17:15] *** barra_away has joined #openal [14:17:15] *** ChanServ sets mode: +v barra_away [14:26:08] *** barra_away is now known as barra_ [17:25:06] *** per has joined #openal [17:25:07] *** ChanServ sets mode: +v per [17:25:13] <per> hello [17:25:42] <barra_> hi per [17:25:55] <per> when i query openal-soft about the number of supported sources, it says "255" [17:26:17] <per> i guess this means it has no hardware mixing? [17:27:12] <per> and what is a reasonable number of sources to use? [17:30:32] <KittyCat> openal soft doesn't do hardware mixing, no. (the 'soft' is as in 'software'; ie. software mixing) [17:31:40] <KittyCat> a reasonable number of allocated sources may be around 16 or 32. definitely shouldn't have more than that playing at one time [17:32:13] <per> thanks [17:32:22] <per> do you know any place i can find the effects extension documentation? [17:32:41] <per> all the links seem to point to dead ends.. [17:33:56] <KittyCat> creative's sdk [17:34:11] <KittyCat> *creative's openal sdk [17:34:41] <KittyCat> there's the Effects Extension Guide.pdf, which is about as good as you'll find (error and all) [17:34:51] *** prophile has quit IRC [17:35:08] *** prophile has joined #openal [17:35:08] *** ChanServ sets mode: +v prophile [17:40:33] <per> KittyCat: the one that's inside an .exe file on creative's website? [17:41:54] <KittyCat> http://connect.creativelabs.com/openal/Downloads/OpenAL11CoreSDK.zip [17:42:49] <per> yeah, inside is an .exe file :/ [17:43:11] <per> i tried unzipping it, but no joy [17:43:25] <per> maybe you have the PDF lying around? [17:44:09] <KittyCat> the exe is probably an installer [17:44:36] <per> i would suppose, but i have no windows box available to install it on [17:44:41] <KittyCat> I can try to DCC the pdf, but you won't get the headers or sample apps (not that they compile on non-windows systems, but they could be looked over, at least) [17:45:05] <per> hmm, can you email instead? dcc won't work. [17:45:46] <KittyCat> hm, it won't? generally it's the sender's system that causes dcc failures.. [17:45:56] <per> to per at gna dot org [17:46:05] <per> i'm behind a NAT [17:46:10] *** prophile_ has joined #openal [17:46:10] *** ChanServ sets mode: +v prophile_ [17:46:40] <per> amazing [17:46:54] <per> thanks a lot [17:47:19] <KittyCat> yeah. the sender's system talls the receiver to connect at a certain port. so you make an outgoing connection, not take an incoming one [17:47:25] <KittyCat> *tells [17:53:15] *** prophile has quit IRC [17:53:35] <per> KittyCat: does openal-soft support the effect extension? [17:53:56] <per> KittyCat: i see that it shows up in my openal-info list, but i can see now supporting code for it [17:55:20] <KittyCat> it does. but you need to import the functions from the lib to use them (LoadLibrary+GetProcAddress in windows, dlopen+slsym elsewhere) [17:55:37] <KittyCat> the headers in the SDK have the typedefs and tokens used [17:55:44] <per> ah, ok. thanks. [18:28:27] *** angasule has joined #openal [18:28:27] *** ChanServ sets mode: +v angasule [18:39:20] *** jvalenzu has joined #openal [18:39:20] *** ChanServ sets mode: +v jvalenzu [18:52:55] *** juanmabc has quit IRC [19:05:22] *** jvalenzu has quit IRC [19:33:35] *** jvalenzu has joined #openal [19:33:35] *** ChanServ sets mode: +v jvalenzu [19:41:50] *** DragonRift has joined #openal [19:41:51] *** ChanServ sets mode: +v DragonRift [19:54:43] *** jvalenzu has quit IRC [20:02:38] <per> sometimes on initialization, openal will generate SIGSTOP and hang. see: http://rafb.net/p/8PrWqX17.html any idea what this could be? [20:03:15] *** jvalenzu has joined #openal [20:03:15] *** ChanServ sets mode: +v jvalenzu [20:04:24] <KittyCat> using pulseaudio? [20:05:36] <per> yeah [20:06:11] <per> i can reproduce it and prod into it in gdb if that helps [20:07:08] <KittyCat> if you disable pulseaudio and use real alsa, does it still happen? [20:07:40] <angasule> aah, cool, found some HRTF data by MIT that just asks for attribution but is otherwise free to use [20:08:00] <per> KittyCat: i'll try... [20:08:42] <per> KittyCat: yes. can still reproduce it [20:09:12] <KittyCat> hmm. what if you use OSS? [20:10:17] <per> hmm, the backtrace is a bit different now (still not using OSS): http://rafb.net/p/M41tg028.html [20:10:47] <angasule> seems like another pulseaudio bug [20:11:10] <per> i killed pulseaudio before this [20:11:59] <KittyCat> it's still calling pulseaudio, regardless [20:12:03] <KittyCat> make sure it didn't restart [20:12:36] <KittyCat> angasule, I really don't understand what HRTF is for. basically I imagine 4 speakers, positioned the four corners. if a sound plays to the left of the listener, it outputs on the left speakers. what more do you need? [20:12:37] <DragonRift> hi peeps [20:12:51] <per> KittyCat: it is still not running [20:13:09] <KittyCat> DragonRift, hi [20:14:29] <angasule> KittyCat: HRTF is for headphones, it allows for *full* 3D positioning with headphones, for example you can distinguish up and down [20:15:18] <angasule> KittyCat: if you have headphones, put them on and hear this (flash required) http://gprime.net/flash.php/soundimmersion [20:15:22] <per> would i open in OSS by doing alcOpenDevice("OSS")? [20:15:35] <per> or is there some other obscure enum i should use? ;) [20:16:07] <KittyCat> per, no (though I'm thinking I should add something like that). edit ~/.alsoftrc and add the line: drivers=oss [20:20:22] <per> KittyCat: i couldn't reproduce the exact same problem with OSS, and i had to test a lot before i got any problem, but i got this once: http://rafb.net/p/JiLsgw49.html [20:21:52] <KittyCat> hmm. looks like it could be a bug in your pthread lib. or I'm tripping over something I'm not aware of with pthreads.. [20:22:14] <per> i didn't touch it ;) [20:22:50] <per> what looks wrong with pthreads? [20:23:22] <KittyCat> that seems to be where it's crashing in [20:23:45] <KittyCat> is your app 32-bit? [20:23:52] <per> no, 64bit [20:24:30] <KittyCat> what version of openal soft? [20:26:39] <per> i installed from the svn repository, but i don't recall which reversion i installed. one of the recent days. [20:26:47] <per> i can try installing a newer revision if that helps. [20:27:38] <KittyCat> hmm. last commit was early friday [20:27:54] <KittyCat> PST [20:28:13] <per> i did git-clone today, and got some updates, so at least one day older than friday [20:30:17] <KittyCat> do a clean rebuild, too [20:30:32] <KittyCat> just in case its not rebuilding some file properly [20:30:50] <KittyCat> *file dependancy [20:31:46] <per> KittyCat: what do you want me to test? alsa again? [20:32:04] <KittyCat> yeah [20:32:44] <per> KittyCat: with or without pulseaudio running? [20:33:02] <KittyCat> without [20:33:41] <per> here you go: http://rafb.net/p/jbqmsQ12.html [20:33:46] <per> same problem [20:35:24] <KittyCat> hmm. you initializing SDL audio? [20:36:06] <per> no [20:36:28] <per> we don't use that, only SDL timers, SDL opengl and SDL_net [20:37:01] <per> i guess it is an event or timer thread [20:37:29] <KittyCat> it's odd that it's saying "signal 0".. [20:37:47] <KittyCat> because signal 0 is "n/a exit code indicates if a signal may be sent" [20:38:21] <per> yes, this bug is really strange [20:38:28] <KittyCat> and I found a mailing list post that says "I used pthread_kill with signal number 0 on the thread that needs to be tested. If the return value is 0, then the thread is alive. If the return value is ESRCH, then the thread is not alive in the system." [20:39:43] <KittyCat> what happens if you run c or pass from gdb? [20:45:01] <per> i'll try [20:48:35] <per> if i do 'cont', it runs as normal [20:49:00] <per> so maybe it is just tickling gdb [20:50:29] <KittyCat> does it run outside of gdb? [20:51:41] <per> i'll have to test - i always run inside gdb ;) [20:51:57] <KittyCat> heh [20:52:08] <KittyCat> yeah, debuggers will catch the oddest things sometimes.. [20:54:25] <DragonRift> salem [20:54:34] <per> KittyCat: unable to reproduce without gdb [20:54:41] <DragonRift> hi [20:55:09] <DragonRift> hi KittyCat (delayed) [20:55:32] <KittyCat> hi [20:55:35] <DragonRift> how are you [20:55:46] <KittyCat> alright. yourself? [20:56:11] <per> does anyone know about a well written, C-based openal source manager for a game i could look at for inspiration? [20:56:21] <DragonRift> KittyCat: stressed to the max [20:57:13] <DragonRift> KittyCat: trying to get a prototype of my engine working so I can secure investors [20:57:23] <DragonRift> http://i-core.ragecomm.com/ [20:57:29] <DragonRift> the feature list is complete features [20:57:58] <DragonRift> 0.1.8 is the screen thats most modern [20:58:06] <DragonRift> everything else is in my old version of the engine [20:58:17] <DragonRift> by 0.2.0 the rewrite will be done [20:58:31] <DragonRift> still working on systems for media management [20:58:41] <DragonRift> and the networking needs more work [20:58:46] <DragonRift> so does the game editor [20:59:00] <DragonRift> we still have nvidia physx to go in [20:59:03] <DragonRift> as well as openal [20:59:38] <KittyCat> looks interesting [20:59:54] <DragonRift> its not a easy project [21:00:26] <KittyCat> yeah, got a long list of features there [21:00:31] <DragonRift> the renderer is about 95% done [21:00:46] <DragonRift> still need to impliment SpeedtreeRT [21:01:22] <KittyCat> I see you're using shadow mapping, though</hate bias> [21:01:56] <DragonRift> I use p[arallel split shadow maps [21:02:01] <DragonRift> like seen in Crysis [21:04:00] <KittyCat> I prefer stencil shadows. shadow maps always look bad at angles (pixelization, which people try to hide with expensive blurring) and don't "connect" well between the caster and receiver [21:04:18] <KittyCat> and they don't work efficiently with point lights [21:04:43] <KittyCat> but that's my personal opinion [21:05:37] <DragonRift> the deferred shading hides it well [21:05:38] <DragonRift> :p [21:06:02] <KittyCat> how does that work? [21:06:21] <DragonRift> deferred shading? [21:06:34] <KittyCat> yeah [21:06:59] *** DragonRift has quit IRC [21:07:31] *** DragonRift has joined #openal [21:07:31] *** ChanServ sets mode: +v DragonRift [21:07:45] <DragonRift> oops [21:07:47] <DragonRift> too big of a paste [21:07:52] <DragonRift> In computer graphics, deferred shading is a three dimensional shading technique in which the input registers of the pixel shading equation are written to framebuffer storage as visibility is determined, instead of immediately writing a shaded result as a pixel color. [21:08:44] <DragonRift> Once visibility is determined these framebuffer (or auxiliary buffer) results are then read as input to a shading algorithm (for example a lighting equation) without the need to reissue the geometry of the original rendering. [21:09:18] <DragonRift> In this way the computation and memory bandwidth required to shade a scene is reduced to those visible portions, thereby reducing the shaded depth complexity. This primary advantage of deferred rendering is mitigated by the availability of coarse Z-buffer and early Z-buffer testing, however other advantages are still claimed for the approach. [21:09:57] <DragonRift> These advantages may include the simpler management of complex lighting resources, ease of managing other complex shader resources and the simplification of the software rendering pipeline. [21:10:58] <DragonRift> KittyCat: get what I mean? [21:13:14] <KittyCat> hmm.. I'm not sure [21:13:17] * KittyCat googles [21:19:00] *** per has quit IRC [21:19:27] <KittyCat> interesting [21:21:59] <KittyCat> though the main issue is still determing if any given pixel should be shaded and by how much. afaik, shadow mapping always does this by rendering from the light's perspective (which is inherently problematic when the light's render frustum and the viewer's cross at longer distances [21:24:25] <DragonRift> yes but the slowdown you speak of is non existant in deferred shading [21:24:32] <KittyCat> and ends up showing off the (lack of) resolution rather well [21:24:51] <DragonRift> thats what I am saying [21:25:42] <KittyCat> the slowdown I hinted at was from the blurring algorithms used to hide the shadow buffer's resolution [21:26:02] <DragonRift> yes but in deferred shading we are not getting any slowdown [21:26:06] <DragonRift> not even 1 fps [21:26:46] <KittyCat> maybe not from deferred shadowing itself. I could see where it even helps speed [21:27:09] <DragonRift> I know its a preference thing though [21:27:26] <DragonRift> the visual appeal is a little better with stencil shadows [21:27:57] <KittyCat> according to http://www.talula.demon.co.uk/DeferredShading.pdf it doesn't even seem to be exclusive of other shadowing techniques [21:28:56] <DragonRift> Shawn Hargreaves [21:29:02] <DragonRift> I know the guy who wrote that paper [21:29:03] <DragonRift> :D [21:30:09] <KittyCat> so do I :) not personally. but I knew him when he was still working on Allegro [21:30:29] <KittyCat> interesting coincidence that a google search turned up that result [21:31:34] <DragonRift> I also know Piotr Obrzut from Climax [21:31:35] <DragonRift> :) [21:31:46] <DragonRift> I know both personally [21:31:47] <DragonRift> :p [21:32:11] <DragonRift> he worked for Brighton studio, which has split with Portsmouth [21:32:26] <DragonRift> there are named Black Rock, or something like that [21:32:30] <DragonRift> they did racing games [21:32:32] <DragonRift> and they still do [21:32:33] <DragonRift> :) [21:33:13] <DragonRift> Block Rock was sold to Disney afaik [21:33:37] <DragonRift> Black Rock [21:34:20] <KittyCat> hmm.. [21:36:43] <KittyCat> only thing is, I don't see this working with hdr very well. [21:37:12] <DragonRift> works fine with hdr [21:37:15] <DragonRift> I use horde3d [21:37:18] <DragonRift> look for urself [21:37:20] <DragonRift> horde3d is free [21:38:04] <KittyCat> proper hdr basically just has you start at complete blackness, then light up the scene, adding the lights on top of one another, and letting them give results over 1.0 (then apply a bloom filter to what ends up over 1.0) [21:38:34] <KittyCat> with this as far as I can see, you start a scene at 1.0, then just shade it from there [21:39:21] <KittyCat> hmm.. [21:40:00] <KittyCat> been a while since I really got into any graphics work [21:52:11] *** wild13 has joined #openal [21:52:11] *** ChanServ sets mode: +v wild13 [21:52:16] <wild13> ello [21:56:34] <KittyCat> hi [21:56:53] <wild13> KITTY just the person i needed to talk [21:56:54] <wild13> to [21:57:00] <wild13> any way i can set the listeners look direction? [21:57:20] <KittyCat> alListenerfv(AL_ORIENTATION,...); [21:57:25] * wild13 dies [21:57:35] <wild13> btw i think i figured out how to pull off a echo effet [21:57:38] <KittyCat> takes a 6-float array [21:57:53] <wild13> AL_Direction wont work? [21:58:06] <KittyCat> 3 for the 'at' vector, and 3 for the 'up' vector [21:58:24] <KittyCat> no, because a single 'at' vector isn't enough information [21:58:31] <wild13> hmm [21:58:55] <KittyCat> it could be turned upside-down or rightside-up, for example [22:04:27] <wild13> so if i wanted to make a custiom [22:04:39] <wild13> alGetListener3f persay to make it take six floats [22:06:19] <KittyCat> the *fv functions take an array of floats [22:06:37] <wild13> so i have to make a araay? [22:06:45] <KittyCat> ALfloat orientation[6] {x1,y1,z1, x2,y2,z2}; [22:06:52] <KittyCat> alListenerfv(AL_ORIENTATION,orientation); [22:06:56] <wild13> kk [22:11:17] <wild13> for the echo effect [22:11:28] <wild13> what if we load everything twice or 3t imes [22:11:36] <wild13> like buffer 1 2 and 3 all have the same thing [22:17:31] <KittyCat> you'll be mixing more sources [22:17:47] <wild13> i pulled off a echo effect [22:17:56] <wild13> and a distortion was a cheap way though [22:18:01] <wild13> i had 4 sources of the same sound [22:18:06] <wild13> playing [22:18:31] <wild13> i had no issues or cpu spiked while playing over 40 sources [22:19:07] *** jvalenzu has quit IRC [22:19:14] <KittyCat> yeah. now imagine if you had 4 unique sounds that you wanted to echo. already at 16. 10 sources puts you at 40 [22:19:46] <wild13> hmm [22:19:49] <wild13> could use more buffers [22:19:58] <wild13> with the same information [22:20:35] <KittyCat> whereas through the EFX method (assuming it could do it, anyway), sounds would mix regularly, and the echo is applied once as a post-mix effect [22:21:14] <KittyCat> also don't have to worry about keeping sources in sync, continuous echos, etc.. [22:22:49] <wild13> hmm [23:35:17] <wild13> KittyCat you wouldnt happen to know if there is a issue with streaming ogg files in windows would you? [23:35:48] <KittyCat> not afaik [23:36:20] <wild13> care to look at a streaming function [23:36:25] <wild13> to see if anything is wrong ? [23:36:33] <KittyCat> sure [23:36:41] <wild13> its running perfect in windows [23:37:43] <wild13> *linux* [23:37:51] <wild13> http://pastebin.com/m290ff840 [23:39:59] <KittyCat> don't see anything wrong there (though I notice you only generate 2 buffers for modules, instead of 3 like with ogg) [23:40:24] <wild13> lol yeah will be fixed [23:40:46] <wild13> were working on the 1.6 release that has a irrlicht scene node and a irredit plugin toa ccompny it [23:41:00] <wild13> problem is the person working on it with me [23:41:07] <wild13> it crashes when he trys to stream it im about to test it [23:42:29] <KittyCat> oh. on windows you need to use ov_open_callbacks [23:42:42] <wild13> 0-0\ [23:42:44] <wild13> meaning [23:44:56] <KittyCat> ov_open_callbacks(oggFile, &oggStream, NULL, 0, OV_CALLBACKS_DEFAULT); [23:46:29] <wild13> hmm [23:47:31] <wild13> so instead of ov_open [23:47:32] <wild13> i do [23:47:38] <wild13> ov_open_callbacks( ? [23:47:54] <KittyCat> yeah [23:48:04] <wild13> ok is there a way to find out what os [23:48:10] <wild13> it is currently on? [23:48:17] <wild13> so the engine can do this auto [23:48:33] <KittyCat> it'll work on non-windows systems, too [23:48:38] <wild13> o ok [23:48:50] <wild13> so ov_open_callbacks = equvilent of ov_open on all other systems? [23:49:54] <wild13> getting a undeclared error [23:51:45] <KittyCat> ov_open_callback reads the stream from the supplied callback functions, as opposed to the C IO functions [23:52:16] <wild13> ahh ok [23:52:24] <wild13> invalid suffix V_CALLBACKS_DEFAULT [23:52:28] <wild13> on integer constant [23:52:33] <wild13> whoops [23:52:37] <KittyCat> OV_CALLBACKS_DEFAULT is a built-in set of callbacks that use the standard C IO functions. on Windows, you need to do this because of some silly rules about IO functions across DLL boundaries [23:53:18] <wild13> so annoying [23:53:20] <wild13> is windows [23:54:34] <wild13> alSourcef(source,AL_PITCH,pitch); [23:54:40] <wild13> anyidea why that wouldnt work pitch is a float [23:54:56] <KittyCat> how doesn't it work? [23:55:37] <wild13> im getting a compiler error [23:55:49] <wild13> invalid suffix v_VALLBACKS_DEFUALT on inter constant [23:56:27] <KittyCat> OV_CALLBACKS_DEFAULT [23:56:33] <KittyCat> O not 0 [23:56:36] *** prophile_ is now known as prophile [23:57:25] <wild13> O [23:57:27] <wild13> gives me [23:57:38] <wild13> OV_CALLBACKS_DEFAULT undeclared [23:59:39] <KittyCat> no idea. it's there for me.. [23:59:57] <wild13> maybe im missing a header [23:59:59] <wild13> or soemthing