| |
| |
| |
|
Page: 1 2
Comments:
<0> Heya. <0> I'm trying to revive Animadead. :P I've been going back through my code and cleaning it up a bit. <0> One thing I'm trying to clean up is my matrix math. I originally wrote it to support both row major and column major indexing. <1> Nice Return0, how's the user base? <0> hehe. well <0> there's a handfull :P <0> It got me a job though :) <1> Good :) <0> how have you been mal? <1> Quite well, I'm surprisingly having much fun writing a... high-performance distributed database <0> nce? <0> nm <1> Nce? <0> line wrapped :P <1> Mmhm :) <0> neat
<0> how bad is the network overhead? <1> Very low, the point is being able to get a direct pointer to locally cached memory in a handful of cycles <1> processor cycles that is, nothing you can compare to pathetically slow SQL databases <0> a handful of parallel cycles anyway ;) <0> the future. <0> I'd like to improve my matrix cl*** a bit. At the moment it has a static member that defines format the data (from the result of an operation) is packed in, row-major or col-major. <1> Sounds rather inefficient to read this variable on each call <0> exactly <0> especially because someone wouldn't likely ever switch <0> for a single app anyway <0> So at first I thought maybe a preprocessor, but that's a bad idea. <0> so then, maybe different cl***es. which makes sense. <1> Have functions handle one specific order, yes <0> but I'm still working out the details <0> It would be more trivial if I was just using C-style functions <1> Quite :) <0> but I was hoping to make the interface nice and use the C++ operator overloading. <1> I'm really not fond of C++'s OO, it's abused and inefficient <0> yeah, I sort of agree. <0> But I'm not quite to the point where I just want to use strictly functions <1> Sure, use cl***es when it's appropriate ; otherwise, don't <0> I think it's appropriate that's the problem :P <0> for matrices. <0> I'm thinking I can fix a lot by using two different cl***es for row major and column major <0> but I dunno. <1> Sounds reasonable <0> One optimization I originally implemented was allowing multiplication of row major and column major matrices together, and just using special indexing to make it proper. <0> Which would safe the overhead of converting a matrix. <0> But then again, it's probably not necessary <0> s/safe/save/ <2> why allow both matrix modes? <2> just choose one :) <0> well... because I want to make it easy to use in both directx and opengl <0> for pushing a matrix on the stack <0> And you can't just after the fact convert a matrix that's compiled from several matrix multiplications, from one format to the other. <0> it reverses the order of the multiplications <1> Hrm, no? It's just a different representation, the data is the same <0> Which is sort of why it doesn't make much sense to support mixed mode. <0> are you sure? <0> hrmm <0> maybe you are right <2> (S*R*T)*v = v*(S*R*T)^transpose <2> = v*(T*R*S) <0> so I'm right, right? <2> no. <2> mal is. <3> heh <0> you just showed me how (TRS) = opposite format(SRT), did you not? <2> I just showed that if you swap from vM (d3d) to Mv (gl) you just need to transpose M <2> (or that M is transposed...) <0> oh, I get it. <2> by that operaion <0> or do I <2> write out a 2x2 matrix and a 2d vertex <0> I already knew to go from one format to the other it's the transpose... but <2> put the vertex on either side of the matrix <2> do the mult. <2> look at the transpose of the matrix, do it again. <2> but? <0> I guess I get it, so by transposing, and changing the indexing nullifies the transpose <0> I didn't think of it that way
<0> I always just looked at it from one perspective <0> So I should definitely pick one format, and then just allow the user to access it either way. <2> Just "pick" the C way. <0> in either format I mean <2> its what people expect. <2> (row-major) <0> ok. <0> got it ;) <0> Thanks, I have a much clearer understanding now. <2> :) <3> I saw a math once... it skeered me <1> I couldn't look up "skeer", is the orthography correct? <3> 'scare' <3> with hillbilly accent applied o.O <1> Oh :) <0> :) <4> How do the glTexEnv functions work without multitexturing? <4> Do glTexEnv decide how the texel is applied to the fragment, before the lighting equations are done? <1> The lighting formula sets the primary color for the fragments, which is then used by the fragment pipeline ( glTexEnv ) <4> thanks <4> I'm implementing emboss bumpmapping on the PSP. And I'm not used to just have one texture unit. <2> I hate GL's multitexturing. <4> Well, yes it can be confusing. <2> mm, not confusing as much as poorly designed <2> .. but I guess I have to blame that on the client/server crap built in <4> And the combiners give me a headache. <4> I don't see any obvious reason for the client/server model either. <4> Afaik, only X has a working implementation. <2> a software impl at that. <2> But the ARB knows GL is out of date. <2> Thats why GL3.0 has been proposed. <0> Dr^Nick, I haven't heard anything yet about gl3.0, are they proposing some major changes or just shader 3.0 compliance? <0> We're only using shader 3.0 where I work. <2> They're rewriting all of GL <2> essentially a new api. <2> then they're going to layer the legacy crap on top of i <2> t <2> since it will have to go through an emulation layer anyway to run on next-gen hardware. <0> I know if you transpose a rotation matrix, you get the inverse, but does this work for any transformation matrix? Can I just transpose the first 3x3 part, and negate the position part? <0> I'm guessing it might not work for a projection matrix <0> but for storing translation, rotation, and scale would it work? <0> about negating the position part, I'm also guessing that's a wrong ***umption <0> I figure I'll probably have to rotate the position values by the 3x3 matrix, and use the negation of that. <0> I guess I could just make sample cases and check that I get the identity when I multiply a matrix by its inverse. <4> You probably never will. <4> Because of precision errors. <4> Using an epsilon might work. <5> where can i download opengl for c++ in linux(ubuntu distribution)? <1> Download "opengl"? Install drivers from your vendor, if they don't come with Ubuntu <5> i dont know how to do that <5> call it "install" or "use" opengl, what actions should i take in order to be able to use opengl in a c++ program? <1> Just download and install the appropriate drivers for your video card, does Ubuntu provide the opengl headers by default? ( /usr/include/GL ) <5> yes i found that folder <1> I don't know much of Ubuntu packages, you can surely get the drivers there as well, which could be preferable <5> does that mean it's already "installed"? <1> Do you have gl.h and other files in there? You also need drivers if you want to get any hardware acceleration <5> i got gl.h and a all those other files <1> Run glxgears, wait 5 seconds and tell me what frame rate you get <1> In case your drivers are already installed <5> i cant find glxgears <5> i find no binary files at all <1> Not there, run glxgears from a xterm <5> ah <5> :) <5> i get three wheels in Red green and blue <1> Alternatively, run glxinfo and see what is the implementation you got <5> 1.2 (1.5 Mesa 6.2.1) <1> Okay, you don't have drivers installed and rely on software... which is slow <1> Download and install drivers for your video card, which I hope for you is Nvidia, or ATI <1> ( or find how to get that through the Ubuntu package system ) <5> its Nvidia <1> Then you'll have no problem at all, good <5> i got one on download now
Return to
#opengl or Go to some related
logs:
sata install XP nx6320 #nhl #sendmail #delphi #politics #politics ichigo's zanpaktou +Jira Relay access denied #beginner #python
|
|