« JavaOne | Main | My technorati claim »

LWJGL

[07:54:54] <saintx> hello, I'm having a spot of trouble with DevIL ilGenImages(...)
[07:56:18] <saintx> I'm working through the NeHe tutorials and the Lesson06 port doesn't work with the latest 1.1 trunk, so far as I can tell.
[07:56:59] <saintx> Aside from that, I'm very impressed with lwjgl!
[07:58:59] <aho> most of us dont use devil
[08:02:08] <saintx> Ah.
[08:02:41] <saintx> What do you use?

[08:02:54] <aho> in the past i had some rather odd surprises with devil... so, i rather stay clear from that these days
[08:02:58] <aho> custom tga loader
[08:03:15] <saintx> Did you roll your own for that?
[08:03:25] <aho> yea
[08:03:27] <saintx> I'm reading the devil code now, it's . . . odd.
[08:03:31] <aho> well, tga is a pretty simple format
[08:03:39] <aho> especially if you only support 24 and 32bit ;>
[08:04:03] <saintx> Looks like the ilGenImages method delegates to a private method which isn't implemented.
[08:04:11] <aho> take a look at the tga loader from slick http://slick.cokeandcode.com/
[08:05:06] <saintx> OOC, is DevIL dead?
[08:05:35] <aho> afaik it isnt
[08:05:36] <aho> its just...
[08:05:37] <aho> meh
[08:05:38] <saintx> Or just not highly active
[08:05:38] <aho> :>
[08:05:51] <saintx> Got it, well that helps quite a bit.
[08:08:12] <saintx> Is Slick your custom tga loader, or is this just another option?
[08:08:43] <aho> slick also uses some custom tga loader... it isn't identical with mine, however
[08:08:58] <saintx> Yours is better, I presume ;-)
[08:09:04] <aho> it also only supports 24 and 32bit tho
[08:09:17] <aho> nah its pretty much the same thing, i would say
[08:09:17] <saintx> That's fine by me
[08:13:22] <saintx> So, slick is a general purpose 2d library.
[08:13:29] <aho> yes
[08:13:44] <saintx> This is great--thanks for the tip.
[08:13:44] <aho> makes it a bit more like java2d
[08:13:58] <aho> (its just quicker) ;>
[08:14:00] <saintx> Sure, but what does it run on under the hood?
[08:14:08] <aho> lwjgl ;)
[08:14:13] <saintx> Thought so.
[08:14:15] <saintx> :)
[08:14:37] <saintx> And I could use this for mapping textures into 3d scenery?
[08:14:58] <aho> it isnt really geared towards 3d
[08:15:16] <saintx> Hrmm.
[08:15:23] <aho> doing 3d stuff with it is possible tho... just a bit more weird then usual :>
[08:15:44] <aho> jme - http://www.jmonkeyengine.com/
[08:16:17] <saintx> Looking...
[08:16:37] <saintx> jme got burned earlier this week on /.
[08:16:56] <saintx> Sort of bugged me.
[08:17:13] <aho> same goes for java ;>
[08:17:20] <saintx> Yeah.
[08:17:37] <saintx> What gives with that?
[08:17:56] <saintx> I see good progress being made in the java 3d realm.
[08:18:12] <saintx> that is, in the 3d graphics written in Java realm ;-)
[08:18:17] <aho> havent used any of the 3d scenegraph apis
[08:19:53] <saintx> I just don't believe that Java's not capable of being competetive in the pro gaming arena. When you think of some of the things that you need in games today, Java brings a lot more to the table than is at first apparent.
[08:20:39] <saintx> For example, enterprise-strength transaction monitors.
[08:20:46] <aho> "And it's bloody java, so you're looking at 70 meg for a 10 fps "hello world" map. I wish people would stop wasting time and effort on java where it's clearly unsuitable just because that's what they were taught at university."
[08:20:48] <aho> lol
[08:20:52] <aho> slashdot at its best :>
[08:21:10] <saintx> I stopped playing EVE online when I realized that they couldn't guarantee transactions between players.
[08:21:20] <aho> well, checkout http://oddlabs.com
[08:21:26] <aho> thats also lwjgl
[08:21:34] <aho> and it runs fine on a 500mhz machine :)
[08:21:40] <saintx> Yeah, the only reason it's a 70Mb download is because the Vole refused to ship it with their OS.
[08:21:58] <aho> ehm... it isn't 70mb :)
[08:22:40] <aho> you can make a small lwjgl accelerated game with sound and gamepad support with less then 2.5mb
[08:22:47] <aho> that is... if you strip the jre ;>
[08:22:54] <saintx> You know what I mean. The only reason it's a fat download at all is because MS wouldn't prepackage it on Windows.
[08:22:57] <saintx> But you're rigth
[08:22:59] <aho> and otherwise its like 11-12mb
[08:23:10] <aho> 70mb for hello world is bullcrap squared
[08:23:21] <saintx> Is there a way to go through the classloader or code and only keep the classes you need?
[08:23:31] <saintx> It'd be a sweet maven plugin if that were possible.
[08:23:48] * saintx smiles. He is among friends here.
[08:23:52] <aho> -= THIS MESSAGE NOT LOGGED =-
[08:24:02] <aho> no java required :>
[08:24:22] <aho> (the required stuff is included)
[08:24:34] <aho> well... its pretty complicated to package applications like that
[08:24:38] <saintx> How tedious was that to package?
[08:24:51] <saintx> I bet we could simplify that. I wanted to do that a while ago, actually.
[08:25:00] <aho> i used filemon and a bootstrapped cp to check which classes get loaded
[08:25:11] <aho> i also used processexplorer to determine which dlls get loaded
[08:25:32] <saintx> Oh, yeah. DLLs.
[08:25:39] <aho> it could be automated completely tho
[08:25:53] <saintx> I think this deserves some thought, though. We should get James Strachan on it ;-)
[08:26:10] <saintx> I wonder if any of the guys over at CodeHaus have thought of doing this.
[08:26:25] <aho> that is... you need to know the minimum amount of files (there are some directly loaded unter the hood classes)... and a few specific files and directories are required
[08:26:52] <aho> the class files which are used (or *can* be used) can be determined via reflection
[08:27:04] <aho> the native libs are bound to specific classes
[08:27:30] <aho> so basically... it isnt that complicated... just quite a bit of work :)
[08:27:52] <saintx> Yeah.
[08:27:59] <aho> -= THIS MESSAGE NOT LOGGED =-
[08:28:17] <saintx> That's true.
[08:28:19] <aho> -= THIS MESSAGE NOT LOGGED =-
[08:28:38] <aho> see http://echelog.matzon.dk/?lwjgl
[08:28:39] <aho> <;
[08:28:39] <saintx> -= THIS MESSAGE NOT LOGGED =-
[08:29:07] <aho> well, it will be different with 7.0
[08:29:15] <aho> since that one will be opensource
[08:29:29] <aho> and there is also the "consumer jre" on the way
[08:29:47] <aho> which is like a minimal jre, which downloads extra components as needed
[08:29:51] <saintx> Then this might be the perfect time to write a maven plugin for it.
[08:29:54] <saintx> That's great.
[08:29:57] <saintx> It's about damned time.
[08:30:01] <aho> true
[08:31:19] <aho> well, its quite cool. if you dont need awt and only a few specific packages you have like ~2mb "overhead" (technically it isnt really overhead since that its the stuff you really need) for lwjgl powered game
[08:31:57] <saintx> I'm on board.
[08:32:18] <aho> heh. welcome ;)
[08:32:27] <saintx> Messed around a bit with JOGL earlier this week, but nuked my directory and started over with LWJGL today.
[08:32:58] <saintx> Pulled down the source and clean-installed the libraries in IntelliJ.
[08:33:58] <saintx> Was working through the NeHe tutorials in LWJGL when I hit the wall on Lesson06. The texture doesn't load because the appropriate DevIL method to be b0rked.
[08:34:10] <saintx> s/to be/seems to be
[08:34:55] <aho> the issue i had with devil is... it needs to be installed separately on mac, which is like... shit. and additionally the textures were flipped upside down on some systems for no reason whatsoever
[08:35:12] <aho> and the set origin method doesnt do anything.. so uhm...
[08:35:38] <saintx> yeah, not cool.
[08:36:13] <saintx> I don't care, really. I'd rather learn to do it from scratch so I'll prolly go back to the redbook and see what I can learn there.
[08:36:30] <saintx> But will definitely keep my eye on jme
[08:37:13] <aho> tga works well as a png replacement (png+jar/zip use deflate), DXTn is the most awesome compromise there is... and well.. the only thing one might miss w/o devil is jpeg
[08:37:21] <aho> but i'm fine w/o jpeg
[08:38:07] <saintx> ouch. That is a little rough. JPG's great for textures.
[08:38:47] <saintx> And PNG is a little pudgy for stuff that isn't line art. I'll look into TGA again, though.
[08:39:05] <aho> DXTn is nicer for the most part
[08:39:16] <aho> its faster to load than raw and it saves vram ;)
[08:39:56] <aho> jpeg2000 would be great... if it wouldnt be for the patent mess
[08:40:15] <aho> well, only 10 more years and everyone is free to use it :>
[08:40:21] * saintx reads up on DXTn at http://en.wikipedia.org/wiki/S3TC
[08:40:28] <saintx> This looks great
[08:40:35] <aho> it is! :)
[08:40:53] <aho> there are also some articles about it over at gamasutra
[08:41:58] <aho> also check the jsquish thread over at jgo
[08:42:18] <aho> http://www.javagaming.org/forums/index.php?topic=15186.0
[08:42:33] <saintx> We should add the links for those articles to the wikipedia column.
[08:51:15] <saintx> Great thread on JSquish
[08:51:24] <saintx> I'm a sucker for perf threads.
[08:57:09] <saintx> By the way, did you guys hear about Microsoft's recent failed PR attack on Nintendo?
[08:57:13] <saintx> It was great.
[08:58:17] <saintx> They apparently put out a press release stating that their engineers did some investigation and that the Wii's graphics were worse than the XBox, to say nothing about the XBox 360.
[08:58:26] <saintx> And Nintendo's response?
[08:58:30] <saintx> "So what?"
[08:58:41] <saintx> Basically, gameplay is king.
[08:59:21] <saintx> With that, I'm off to sleep. Nice meeting you, aho.

TrackBack

TrackBack URL for this entry:
http://blog.lib.umn.edu/cgi-bin/mt-tb.cgi/41473

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)