unique ROAM VBO issues and a clincher

Sorry Korval, didn’t see you there.
What would you have me banned for this time, stalin?

but there aught be a way to get an average number, assuming some golden ratio of cache hits.
like i think i said, dont trust theory, in nvidia pdf’s about things u usually(always?) see benchmark numbers, i assume these guys know the hardware well, ie theory and reality are often different

waffling is like when you are talking to hitler
cant say ive had the experience, though i was talking to a whitepower neonazi at work on friday, i was waffling on about nz being the laughing stock of the world (i was listening to nationalradio at the time) anyways i was saying thats not a bad thing at all.

your posts here (as well as knackered’s i might add) have been a source of amusement to me, well done, continue to spread that joy around

Thank you for your kind words, zed.
You should all look on me as the deformed son nobody in the family ever talks about, who occasionally stumbles up the cellar steps during dinner parties.

I’m sure michalg understands - he sounds like a tolerant man of the world with a keen sense for self ridicule.

at least this thread is finally more than a single page.

Originally posted by zed:
[b] [quote]but there aught be a way to get an average number, assuming some golden ratio of cache hits.
like i think i said, dont trust theory, in nvidia pdf’s about things u usually(always?) see benchmark numbers, i assume these guys know the hardware well, ie theory and reality are often different

waffling is like when you are talking to hitler
cant say ive had the experience, though i was talking to a whitepower neonazi at work on friday, i was waffling on about nz being the laughing stock of the world (i was listening to nationalradio at the time) anyways i was saying thats not a bad thing at all.

your posts here (as well as knackered’s i might add) have been a source of amusement to me, well done, continue to spread that joy around[/b][/QUOTE]first of all i don’t have time be amusing… and if i did, i certaintly wouldn’t do it directly in this venue.

as for vertices versus pixels, the whole idea is to be able to decide an optimal area for triangles in screen space.

finally as for nazis… you missed the point. i chose hitler because i’ve been told that bringing up hitler, has traditionally meant calling for the end of a thread within the bbs community. but at the same time, i was making the observation that criticizing people for ‘waffling’ is essentially a fascist notion.

finally as for banning… normally i’m not a big advocate. i believe its up to the community to see that it presents a welcoming face to its potential contributors and guests.

however in this case… first off, opengl effects so many people’s lives in such a significant way. if you want to be agressively confrontational in a destructive manner… i would sind find an unoffical opengl venue, or maybe visit the social forum if there is one here at opengl.org.

this forum (coding advanced) however should not be a social, or even political forum… it is a technical forum. and for this reason personal dispositions should be left at the door. especially if they are time consuming and destructive.

in this particular forum (coding advance)… in order to foster a constructive service for opengl contributors. i personally would see it fit to ban confrontational agressors, and discourage defensive confrontation. you simply can’t ban a person for defending themselves.

i wouldn’t recommend a total ban. just a few warnings, then start with week long bans, and work up to months. a life time ban is a lot like a death sentence, and i could not recommend it, as it allows no spirit for personal reformation.

and no, i’m seriously urked by knackered… though it has possibly forced me on occasion to think more criticly of what i’m doing. and it may have been the contributor that brought up FPS, which inadvertantly lead to the vsync discussion. but on the whole it has been a total bother.

I believe you to have been the primary aggressor in this thread, michalg.
After I pointed out that your initial post was a little long, you responded:-

the post requires about a minute to read if you are comfortable with english…finally i don’t keep up with pop terminology, but if hoppe has published it i’ve read it, unless it is very new.
This is aggressive and patronising by anyones standards, and was totally unprovoked by anything I had previously said.
You set the tone for the rest of the thread.
I don’t mind at all, however. I don’t want you banned for being a condesending, patronising, disrespectful, pompous, intellectual snob. It’s entirely your right to conduct a discussion in whatever frame of mind you like, and it’s up to the others in the discussion to decide whether or not to respond to you or not. Like korval says, don’t respond to me and I’ll go away.
Alternatively, if you click on my ‘profile’ button you can add me to your ‘ignore list’, which, although I’ve never tried it myself, presumably makes all my posts magically disappear from your browser.

the post requires about a minute to read if you are comfortable with english…finally i don’t keep up with pop terminology, but if hoppe has published it i’ve read it, unless it is very new.

This is aggressive and patronising by anyones standards, and was totally unprovoked by anything I had previously said.
there is nothing provocative, much less aggressive or patronising in those words. they are quite matter of fact. why would i chastise you if you you can not find a hand full of minutes in your schedule to read much less address a matter to which you owe no obligation whatsoever.

i do not keep up with pop terminology… it is not healthy for science, and only serves to create an elitest environment which precludes people from concerning themselves with science.

‘clipmap’ can not be found in any contemporary dictionary, and even the words disected, ‘clip’ and ‘map’, say nothing meaningful as a compound construction.

but this is besides the point… simply because i do not keep track with pop terminology, reflects nothing upon your character… in which case such a disposition, can hardly be said to be confrontational, much less agressive.

i would were i you, try to take people at face value, especially when communicating via means which allow no real construct for conveying emotional expression.

finally if you take offense of something. bring the matter up then and there, rather than to bury it and feed from what is very likely only a misunderstanding.

sincerely,

michael

Yeah, I have no idea why Knackered hasn’t been banned by the moderators.

Dorbie once said they can’t see IPs or ban anyone and that the mods have no control over the site.

-SirKnight

You should all look on me as the deformed son nobody in the family ever talks about, who occasionally stumbles up the cellar steps during dinner parties.

haha! When you say deformed can we think ‘deformed in the head’ or do you prefer physical deformity? :wink:

-SirKnight

Alternatively, if you click on my ‘profile’ button you can add me to your ‘ignore list’, which, although I’ve never tried it myself, presumably makes all my posts magically disappear from your browser.

From the FAQ:

Ignore lists apply to private messages only. Anyone you add to your ignore list can no longer send you a private message. You can put someone on your ignore list by viewing the member’s profile and clicking on the “add to ignore list” link. Private messaging must be enabled on this site in order to use buddy lists.

So no, everyone still gets to enjoy knackered in all his glory no matter what. :slight_smile:

-SirKnight

Hi Michagl,

I’m still trying to get my head around your LOD algorithm, but I’m a bit thick these days. I think most everyone who’s given LOD any real thought has considered the possibility of a LUT of some kind. I’m a huge LUT fan, and use them wherever they make sense, and occasionally where they don’t. I’m a huge fan of theory too: Theory is where all the good stuff starts. But I’m cautious in developing ideas in a vacuum, with little concern for the underlying hardware, for example. I’m keenly aware, however, that theory can and does inspire others, and inspired folks create and program the hardware we use, and contribute to this forum.

I would love to discuss LOD and terrain rendering in general, but I wonder if the math forum might be a better place for that. I’m up to my armpits in other stuff right now, so I couldn’t really give it the attention it deserves. But I’m certain that there are others that could.

Also, in the absence of a complete understanding of your algorithm, it would be difficult to advise you on the API specifics. Maybe you could refine your questions with that in mind. Once you have a paper we could read, then it might be easier to target the API details, though it’s likely to involve VBOs at the outset, as stated already. I believe, from your point of view, it would be better to simply gain an understanding of the API, such as it is, then apply it as only your intimate knowlegde of the algorithm would allow. In other words, I think it would be easier for you to learn the VBO API than it would be for all of us to learn your algorithm. Anyway, just a few thoughts, and I would very much like to understand your process.

Oh, and consider excusing the behavior of some of the other guests. We can’t have the yang without the yin :wink: Rest assured, the vast majority of the visitors here are both friendly and generous.

i apreciate your consideration graham. the basic structure of the algorithm is really very simple to take in. i think it has been described just about as well as i could ever really get around to describing it… though you might have to look here and there in the bloted first page. if you are really interested in continuous LOD, then i figure it would be worth your time. i believe i’m pretty familiar with most every fairly publicized system in this vein… and though like i’ve said before, there is nothing totally new in this approach, save for maybe the strip LUT, which i’ve never seen anything close to. its really the confluence of all the different elements which all happen to compliment one another just right were the numbers are concerned. in fact there are a lot of points in the system where it would totally fall apart if the numbers worked out just a little bit different.

as for working in a vaccuum, i actually go out of my way to do so to some extent. i find that aproaching a problem by beginning with the work of those to come before you tends to narrow the imagination. i mean the approach, iterative steps versus leaps and bounds, depends on the sort of person. i personally do better i find starting from scratch, which tends to allow me to position myself “outside the box”… and so far the approach has given me nothing but success. so i plan to stick with it.

as for the vbo api i utilize it all the time and know it well. i’ve poured over the readilly available resources, but still there is just the chance of missing something… then there is the people that maybe work in the video game industry or something, that might specialize in this sort of thing, way more than i intend to invest of myself, just in time for the nitty gritty hardware to change down the road.

i’m primarilly an algorithm programmer. i don’t fancy myself a hardware programmer, and if i really wanted intimate hardware api optimized code, simd, assembly, and what have you… i would probably be more comfortable asking an export to do it for me, in a collaborative effort of course.

i can’t say much more without either getting even more wordy, or revealing more personal information than i would like.

but like i said… i had a specific issue i wanted to solve… which has been solved, and i apreciate everyone who helped in that effort. (i’ve worked for years without giving much thought to vsync, you miss things here and there when you ae selft taught) discussing specific hardware/driver matters would just be icing on the cake. if no one is into, its not going to be the end of the world… and at this stage i’m definately NOT* going to be compelled to step out into the wild blue yonder of the internet and try to seek out hypothetical solutions to problems which might not even really exist as far as contemporary hardware can provide.

i’m just trying to say that i’m content. i might have a few more opengl curiosities for other threads under my belt… though i don’t keep a list unfortunately. i noticed texture borders changed with my last drivers. and i’m sure inevitably i might have some advanced opengl issues. and maybe i won’t have to think twice before resorting to bbs next time. bbs systems usually intimidate me. too many high spirited types for my tastes. but on the whole everyone here has been very helpful and cordial. i only wish i could be of some service, but my opengl experience is generally more general than sort of situations that tend to pop up in this forum. i utilize opengl a lot, but my applications are generally more on the general purpose and far reaching side… not too many far out demos, none actually.

don’t get the wrong idea… i’m all up for discussion. but please do so from interest, rather than any percieved obligation.

it really is an interesting system for anyone interested in the domain.

sincerely,

michael

*edit: added negative and comment

Originally posted by michagl:
i find that aproaching a problem by beginning with the work of those to come before you tends to narrow the imagination…i personally do better i find starting from scratch, which tends to allow me to position myself “outside the box”…
Perfectly honourable approach.

Originally posted by michagl:
but if hoppe has published it i’ve read it, unless it is very new
Why, given your plan to stay ignorant of other approaches in order to ‘think out of the box’? Perhaps you’re standing on the shoulders of giants, but aren’t willing to give them any credit?

Originally posted by michagl:
it really is an interesting system for anyone interested in the domain.
How do you know?

Originally posted by graham:
I’m still trying to get my head around your LOD algorithm, but I’m a bit thick these days.

Originally posted by michagl:
i think it has been described just about as well as i could ever really get around to describing it…
Perhaps the readers of your description would be the best judge of that.

Originally posted by SirKnight:
haha! When you say deformed can we think ‘deformed in the head’ or do you prefer physical deformity? :wink:
-SirKnight

There’s no need to bring my 12lb tumour into this conversation. As I keep saying, I’m scared of anaesthetics. :slight_smile:

Originally posted by michagl:
and it may have been the contributor that brought up FPS, which inadvertantly lead to the vsync discussion.
Michael, I just wanted to point out I picked out vsync from your original post :slight_smile: because I thought it was likely to be causing the performance issue you were seeing. I didnt explain exactly why because I wanted you to try it and see first. You decided not to.

One important thing to remember with vsync is that when you update your drivers vsync is reset to being on.

Why, given your plan to stay ignorant of other approaches in order to ‘think out of the box’? Perhaps you’re standing on the shoulders of giants, but aren’t willing to give them any credit?
well like everything in the real world it is a mixed bag. of course i wouldn’t recommend tilting at windmills with out at least getting your feet wet. i keep up with papers by the name of the authors, not by subject. you run across hoppe and others, usually presenting their work to various colloquia… you check them out, read up on their papers. i tend not to put subjects into google looking for solutions… besides if i did, i doubt i would find much, with the use of pop terminology that no one could find without first being exposed to the terminology through often exclusive channels. as for credit, i can’t give any to hoppe for anything related to this effort. of course i’m not the first to descritize lod geometry (at least not for planar algorithms), or utilize equilateral/right triangle recursive subdivision. other than whoever first did that stuff, i can’t think of any credit to bestow upon anyone.

How do you know?
because i wouldn’t say so if i didn’t know.

Perhaps the readers of your description would be the best judge of that.
how can they possibly judge how much effort i intend to put into publicizing this stuff. i’m not an acedmic, or an advocate. i’m happy to share, its refreshing actually to have a system which there is no harm in sharing. if anyone wants to formally document, i would be happy to do my best to describe it, and maybe scan some penciled diagrams. but i have at least 10 other systems with equally high priorities underway, and i’m not going to stop building systems just to rigorously document anything. i will already be off on a new project, or picking up an old one, as soon as i hit the ground running.

so like i said, i’m not going to personally rigorously describe this system… and no matter how people judge me nothing is going to change that.

and thats that.

PS: there will be a demo for download asap, but don’t hold your breath. anyone can see for themselves the results then.

edit: oh forgot… thanks Adrian. i apreciate it. i intend to keep vsync on, but its good of course to know what causes that behavior. i have to wonder if higher refresh rates would relieve this tension a bit. is vsync tied to your monitors refresh rate? or is always around 60fps, which i feel is good for real-time rendering.

in sympathy for contributors struggling with the concept presented here. i felt i appropriate to add as the final word that if you have any questions, just look at the screen refrenenced at the top of the thread.

it you don’t get it, just look harder. every relevant bit of it so far is in that image.

i’m working on some significant enhancements which will up the triangle count (perhaps potentially without limit) without adding any new lod overheads.

but other than that very recent development. every little bit is illustrated in that image.

i’m certain that i could tell more or less exactly what is going on in that image, provided i had zero prior familiarity. the information is all there if you study it logicly… which would be a lot quicker than i trying to verbalize an essentially visual algorithm.

and that’s all i have to add.

sincerely,

michael

Originally posted by michagl:
[b] [quote]

[QUOTE]How do you know?
because i wouldn’t say so if i didn’t know.
[/b][/QUOTE]That doesn’t answer the question, it merely states your motive.
Still, it’s in line with the rest of your ponderings - vague and insufficient, garnished with sideways insults at peoples lack of intelligence. Easy stance to adopt, but doesn’t achieve a whole lot, except to make you feel good about yourself.
Why did you bother?

because i’m quite aware of the options in this domain… and the popular ones don’t stack up. there is a major since of failure in the ROAM domain, as even you acknowledged i believe. thats not to say that the benifits of achieving an effective ROAM solution are not emence. right now ROAM versus static meshes is basicly a brains versus brawn affair. the gpu provides the brawn, but logisticly the algorithm is much more efficient.

effective utilization of pciexpress technology will probably render static meshes nothing but a tool of the amateur. in fact i suspect the reading capacity of pciexpress will be one of the top five or three biggest things to ever happen in contemporary hardware graphics.

but even in the abscence of pciexpress, the optimizations possible from this particular approach very closely approaches the raw power of static meshing… without suffering from the lack of scalability in the static mesh, and the lack of continuity of non-continuous LOD.

by asking how i know so? you imply that i’m unaware of the ‘competition’. i really did not wish to offer such an envolved response. but as you insult my honor, my ego must’ve dragged teh rest of me along.

now give me a break please.

sincerely,

michael

PS: i get no self satisfaction from any of this squandering of time and energy. i only lack the capacity for rudeness. that is, if i was not prepared to follow through with the thread, i would never have began it.

So you’re saying that if I keep talking to you, you have no option but to continue talking back? Because you began the thread?
Oh goody! I’ve found a friend…
Re pciexpress - I agree it will shift the priorities of certain techniques, but I’m not sure lod is one of them. LOD is still a mechanism for gracefully degrading and compressing graphical data, which sounds like a GPU job to me, not something a general purpose CPU should be concerning itself with.
Obviously it depends on the application…if all you’re doing is rendering stuff, then it makes sense to divide the work across all available processors. But usually there’s collision detection/response, physics, logic, ai, decompression, input polling, audio management, etc.etc. So the CPU has plenty to do, without adding dynamic re-meshing onto the list.

i definately won’t go on forever, but i’m happy to discuss pciexpress, because i’m not sure if i totally get it. i feel like the main intent of this thread has died, so anyone can feel free to go off topic.

the way i understand it, pciexpress basicly has an equally fast read and write buses, and comes with a super dma system on the motherboard. i figure the expanded dma systems will differ with boards.

i figure, what this would allow you to do at teh least, is always be using the gpu to do anything vagely related to 3d and pixel type operations. the gpu goes beyond general purpose simd, to the extent that it also presumably has built in hardware for operations like vector normalization.

so i figure, something like collision processing could probably easilly be spread out across the cpu and gpu.

were the gpu fails is with complexity. you want fine grain parallelism with the gpu. so doing something like space partitioning isn’t possible on the gpu alone… but if you are smart in choosing the way you go about it, it might be able to batch process some operations.

like i’ve said, batch processing distances is perfect for the gpu.

as for ROAM, you are right, it isn’t good for everything. generally you don’t want to use it if you can fit the entire mesh in the view frustum. but if you can’t, static meshes won’t scale well, and eventually you’ll find yourself rendering more than one triangle within a single pixel, and that is just a waste of power. saturating the resolution of the mesh just to hide scars in non-continuous meshes is also a waste of power… especially when a continuous mesh can be dynamicly generate elegantly at no cost.

only thing else i can add is that i do think that this lod algorithm is suitable for hardware mapping. that is the whole thing could be done on hardware… would be great for a real-time nurbs tesselator if nothing else.