Java linux HTML qmail C++ PHP Debian MySQL ASP JavaScript perl Delphi NetBSD Solaris etc etc etc [...]






Page: 1 2


Comments:
<Maj_> hey all
<Maj_> am implementing a boxFiler function to perform a quick blur on images, but i don't understand how to handle a float radius , anyone can help ?
<n0de_> how do you move the viewing frustum?
<StarG> node> gluLookAt
<StarG> anyone around?
<n0de_> me
<Kepler> hi opengl support will change in windows vista ?
<Bloc> nop seems to be fine
<Kepler> I know
<Kepler> but I heard something that opengl could be emulated in a layers threw dx10
<Kepler> what is all that about ? since dx10 is tie to vista... is it as low as win32 ?
<Bloc> As a result of the changes Microsoft has implemented in Vista, gaming performance no longer suffers when desktop eye candy effects are left on. This is great news for gamers who enjoy the benefits of Aero Glass, but were concerned with its performance impact: there is none. This is unheard of for a Microsoft OS!
<Bloc> that should be the same for opengl
<Kepler> why most games are developped using dx9 and later on 10 ? why not opengl ?
<Bloc> http://www.opengl.org/news/permalink/windows_vista_to_support_opengl_icds_for_aeroglass_compositing_desktop/
<Bloc> cause for the past 10 years the ARB board has been slow as **** in getting features standardized in the API



<Bloc> while MS just declared features and implemented them
<Bloc> well not implemented, but spec it
<Bloc> so DX had all the bleeding edge tech...and opengl specs were 2-3 years behind always
<Bloc> hopefully it'll change cause the khronos group is supposed to do more to keep the opengl api up to date
<Bloc> As of September 21, 2006, control of OpenGL has passed to the Khronos Group[1] This is being done in order to improve the marketing of OpenGL, and to remove barriers between the development of OpenGL and OpenGL ES. The subgroup of Khronos that manages OpenGL will be called the "OpenGL ARB Working Group", for historical reasons.
<Kepler> so there is things your can do in DX ( today ) that you can't do in opengl ?
<Kunnis> I'm trying to use gdebugger, but it's not insturmenting the gpu. I haven't done anything with the code, is there anything special I have to do?
<Kunnis> I'm trying to profile some opengl code.
<Kunnis> With directx, I have to set a hardware context... I don't know what to do with opengl
<Kunnis> Ahha. I got it working. I must have had a setting wrong.
<Bloc> woot:)
<Kunnis> Yeah. Now I'm trying to understand how to tell how my app is doing
<Kunnis> Because I don't know how to tell how effectly it's using the gpu.
<Kunnis> I'm in a mostly worse case scanerio. One of the laggiest places in the game. My frame rate is down to 24 (I idle around 100 in normal places)
<Kunnis> I have a good system.
<Kunnis> I should switch back to my crappy onboard chip. Probably a better average user case.
<Kunnis> I have 27k opengl calls/frame. ~1250 textures. 57k level0 texels/frame.
<Kunnis> About 1.4M/sec. And I have a really good system. I'm trying to understand what I should be looking at to optimize.
<Kunnis> When I click the eliminate all draw commands, my framerate doubles. No change on raster, texture, lighting or shading.
<Kunnis> My cpu is pegged out, but I think that's because of a crappy loop that I need to fix.
<Kunnis> But I don't understand enough to know exactly where to put the blame on the low framerate at.
<Maloeran> Do you often change state, do you render all the geometry you can using the same textures/shaders before moving on to the next batch?
<Kunnis> No.
<Maloeran> No to which part of the question? :)
<Kunnis> This game runs on "prims" which are things like cubes, etc. It's mostly rendered via calling glVertex2f
<Maloeran> And 27k calls per frame is way too huge
<Maloeran> Are you the one working with the Second Life source?
<Kunnis> I don't know what numbers "feel wrong"
<Kunnis> Yes.
<Kunnis> I followed what you said, I got gDEBugger.
<Kunnis> It was linked from the nvidia site you lead me to.
<Maloeran> *nods* The 27k calls and the constant changes of state are the bottleneck
<Kunnis> Is this when switching from calls from calls like quad to region will pay off?
<Maloeran> I'm not sure I understand the question
<Kunnis> Using glVertex3f, etc to using glDrawElements
<Maloeran> glDrawElements() will definitely benefit if you can render many triangles per call
<Kunnis> Define "many".
<Kunnis> The lack of being able to switch textures is the only thing that's going to kill this plan.
<Maloeran> From immediate mode, you might perhaps see a gain with just >20 triangles per call
<Maloeran> How big are these textures, what are their dimensions?
<Kunnis> Most are pretty large. I can look at the decode pipeline and give you a hint. Let me hop someplace new.
<Kunnis> they are all less then 1kx1k, and all 2^n in size.
<Kunnis> It's also telling me there's an opengl render error. I'm hunting tha own now
<Maloeran> I still don't quite see how Second Life is based so much on rendering cubes
<Kunnis> Well, that's just an example. I know where the code for it is, and it's simple.
<Maloeran> Surely there are many triangles in a scene that share the same textures?
<Kunnis> Not really. Users define which textures go on which object.
<Kunnis> You can place diffrent textures on diffrent faces.
<Maloeran> Yes... but these textures are often being reused, right?
<Kunnis> Though a lot is done without textures.
<Kunnis> Not really.
<Maloeran> You don't have an unique texture for each of your 8000 triangles
<Kunnis> I would say more would be untextured and just colored then having a common texture.
<Kunnis> calculating what shares a texture would be expensive.
<Maloeran> It should not have to be calculated, that should be part of the engine's design
<Kunnis> Users can chose any texture anywhere, so it's not really easy to predict.
<Maloeran> Do you have a screenshot of a typical scene?
<Kunnis> RAndom screenshots
<Kunnis> http://secondlife.com/showcase/screenshots.php
<Maloeran> *Many* triangles are reusing the same textures
<Kunnis> Most of them tend to be untextured I think



<Kunnis> Well floors and walls, yeah....
<Maloeran> http://secondlife.com/_img/screenshots/landscapes_river.jpg
<Kunnis> Yeah, lots of the background.
<Kunnis> I never really noticed that.
<Maloeran> It's abundantely reusing the same textures *nods*
<Kunnis> Care to rewrite the render engine :P
<Maloeran> For user-made models, triangles that share the same textures should be grouped together and rendered as one glDrawElements()
<Kunnis> What's the "Best" way of figuring that out?
<Maloeran> For user-made models? Run them through a converter that will group triangles properly, use the output for all rendering needs
<Maloeran> Models might be articulated but the order of triangles just need to be preserved
<Kunnis> The thing that sucks about this design is that isn't an easy concept.
<Kunnis> Most of the stuff just sits in one place though.
<Maloeran> It's a very simple problem in comparison to many others in the world of graphics...
<Kunnis> The server sends down things like "here's this cube that's at this location, with these properties, inclduing skew, sheer, twist, slice"
<Maloeran> The client would have to translate that in a proper form for rendering
<Kunnis> Any good sites that discuss that?
<Kunnis> I'm also going to fix the opengl rendering errors.
<Maloeran> None that I know if... But it's simple : walk through the list of triangles, group the ones using the same textures together
<Kunnis> The suggestions from nvidia say to tackle that first.
<Maloeran> know of*
<Kunnis> The problem is I don't easily see a "list of triangles"
<Maloeran> Do it per-model, per-chunk of scene geometry
<Kunnis> That I bet I can do.
<Maloeran> You don't have to group all the triangles of the scene together, but at least a couple well sized batches
<Kunnis> Humm, should I save up rendering all the un-textured prims for all at once?
<Kunnis> I'm still working on understanding the client model. If I can get a "link group", those tends to have a good chance of sharing textures.
<Maloeran> Sure, keeping texturing disabled and once again glDrawElements() for all of them
<Kunnis> Well I was thinking about making some kind of queue. You pass in the untextured prims into it for bulk rendering.
<Kunnis> Err, untextured triangles.
<Maloeran> First group stuff together on a per-model or per-chunk-of-scene basis, you should see a good improvement
<Maloeran> You can explore the next steps from that point
<Kunnis> Some stuff I could easily see being cheaper. Stuff made with no textures, but a lot of prims.
<Kunnis> And some stuff I can see... an object with a texture on one face, and the rest is untextured.
<Kunnis> or all textured.
<Kunnis> You've got me looking and starting to see how that would work
<Maloeran> *nods* Great
<Kunnis> my biggest problem is that textures aren't reused in a way that's easy to detect. You have 2 objects that are identical, right next to each other. Same textures. But I don't see an "easy" way of optimizing them.
<Kunnis> How can I find one from the other?
<Maloeran> Do the grouping of geometry on a per-object basis, it might be sufficient
<Kunnis> but an obect is just a trigular prism, or just a cube.
<Maloeran> By object, I mean something like a character model
<Kunnis> Or are you meaning object as in building/tree/kinda thing?
<Kunnis> Ahhh
<Maloeran> Yes
<Kunnis> Humm. This is where their render engine sucks. It's not easy to see that.
<Maloeran> Then it might require a full rewrite... Seriously, these graphics are poor
<Kunnis> I see some stuff that would be easy to knock out a block at a time. Ground, sky, trees.
<Kunnis> Agreed. Part of it is due to crappy user content.
<Kunnis> Part of it is a crappy engine.
<Maloeran> Graphics like Oblivion, if you played, could be nice. That's probably a lot of work in perspective though :)
<Maloeran> If Second Life manages to gather a few good OpenGL programmers, it might happen.. I don't have time myself
<Rangar> oblivion is a nice fun game indeed
<Kunnis> The problem is a total lack of a mesh-like object.
<Maloeran> I wouldn't say the game is "fun", but it's pretty
<Rangar> what I like about oblivion and the games before it is it's "openness", play as you play and as you want
<Kunnis> My avatar is prob a good thousand triangles because there isn't a "mesh" So people have to use textures on simple objects.
<Maloeran> I can't agree with that, but I'm more used to AD&D in these matters :)
<Kunnis> I'll try doing that with the sky. It's simple, trivial, and can use a lot of help.
<Rangar> Maloeran: whats not open about it?.. you can go as far as creating your own class, advancing the skills only you want to advance.. play whatever quests you want as you find them, walk whereever you want :)
<Maloeran> I define freedom of action in a dynamic world as going farther than that
<Kunnis> Plus even minimized, the client takes up like 60 percent of my processor.
<Kunnis> That needs to be fixed badly.
<Rangar> Maloeran: curiosly bud, what would you add to something like oblivion?
<Rangar> myself - I'd add multiplayer and party support.. other then that, i'd almost leave it alone i think
<Maloeran> Non-broken rules, a world that doesn't level up with the players, a dynamic world where the player can trulybe part of ; not just following predicted scripts
<Maloeran> truly be* part of
<Rangar> oblivion doesnt level up with players. i.e base creatures remain base crap easy.. sure as you do more quests, you find the harder ones, but if you walked straight in to them as a newbie your utter mad
<Maloeran> No, the whole world follows your level
<Maloeran> Use minor skills and never your primary skills : you will remain level 1, the whole world will remain easy, and you can easily complete the game
<Maloeran> Their whole leveling system is broken
<Rangar> hmm, thats not what i experienced thats forsure
<Rangar> odd :)
<Rangar> in other matters.. did you check out Sun Studio links I sent you.. gave more details about the profiler
<Maloeran> You find it normal that the count of points you can put in each stat per level corresponds to the amount of skills gained, for their respective stat?


Name:

Comments:

Please enter the result of the sum 63 + 46 (to avoid spam):






Return to #opengl
or
Go to some related logs:

politics
windows
politics
tcl math function didn't have numeric value
mirc
chinkpad