code logs -> 2012 -> Sat, 12 May 2012< code.20120511.log - code.20120513.log >
--- Log opened Sat May 12 00:00:34 2012
00:22 You're now known as TheWatcher[T-2]
00:26 You're now known as TheWatcher[zZzZ]
00:42 Silver_Adept [silveradept@Nightstar-0bcc338c.click-network.com] has joined #code
00:44 * Silver_Adept waves. The code snippet that was for the slideshow - exactly what I needed. Bolted on a few extra bits to kludge up a solution and we're good to go.
00:44
< Silver_Adept>
Thanks, everyone.
00:44
<~Vornicus>
Fuckyeah.
00:45 maoranma [maoranma@490720.DD2C85.7A6A94.8C3DA8] has joined #code
00:45
< Silver_Adept>
Ended up saying, "Fuckit." I put the bash script in both directories and bolted on an if statement that switched between the nonrandom slideshow and the random slide.
00:46 Noah [maoranma@Nightstar-d3947588.pools.spcsdns.net] has quit [Ping timeout: 121 seconds]
00:50 maoranma is now known as noah
00:50 noah is now known as Noah
00:50
< Noah>
Silver_Adept: There you go, like a true hacker
00:53
< Silver_Adept>
Yeah, something like that. A couple tutorials and some "So, how do I make this work..." - if that's being a hacker, then I can at least say I've got the "duct tape" belt rank.
00:54
< Noah>
Wait until you get the superglue rank, things get real fun then
01:00
< Silver_Adept>
That would be me trying to generate an EPUB3-compliant book from a Word Document...by hand.
01:01
< Noah>
Ahh, sounds like you're already dabbling
01:01
< Noah>
Which reminds me, I forgot to get superglue to fix this stupid shelf on my desk
01:01
< Noah>
well have to go get that tonight
01:02
<@Tamber>
Shall we have the solvents on hand for when you glue yourself to it?
01:05
< Noah>
Please; I, master of supergluery, have never adherred myself to anything I didn't directly intend to~
01:06
<@Tamber>
:)
01:06
<&McMartin>
sshine: Idly, regarding your earlier question
01:06
< Noah>
And I'm off~
01:06
<@Tamber>
Wondered what smelt funny.
01:06
<&McMartin>
I've recently had the opportunity to look at dynamic-programming solutions to problems
01:06
<&McMartin>
And it does feel a little trickier to sort out/grade than the non-dynpro versions.
01:07
< Noah>
Oh yea?
01:07
<&McMartin>
(Unless it's straight up 'cache results')
01:07
< Noah>
Dynamic programming in what sense?
01:07
<&McMartin>
It's a name for a specific kind of divide and conquer solution technique
01:08
< Noah>
Ah
01:08
< Noah>
So not in the sense of dynamic programming languages?
01:08
<&McMartin>
No, it's very different
01:08
< Noah>
Oh, okay
01:08
<&McMartin>
http://en.wikipedia.org/wiki/Dynamic_programming
02:32
<@rms>
http://www.vidarholen.net/contents/itslearning/
--- Log closed Sat May 12 02:49:15 2012
--- Log opened Sat May 12 03:06:25 2012
03:06 TheWatcher[zZzZ] [chris@Nightstar-3762b576.co.uk] has joined #code
03:06 Irssi: #code: Total of 26 nicks [7 ops, 0 halfops, 0 voices, 19 normal]
03:06 mode/#code [+o TheWatcher[zZzZ]] by ChanServ
03:06 Irssi: Join to #code was synced in 39 secs
03:11
<@ToxicFrog>
Noah: dynamic programming is basically overlapping divide and conquer + memoization
03:17 Attilla [Obsolete@Nightstar-210af7d5.as43234.net] has quit [Ping timeout: 121 seconds]
03:33
<~Vornicus>
Here, have fibonnacci, done by dynamic programming: _f = {0: 0, 1:1}; def f(k): global _f; if k not in _f: _f[k] = f(k-1) + f(k-2);; return _f[k];;
03:46
<&McMartin>
Of course, if you throw out values as they become useless, you get: a = 0; b = 1; for i = 2 to n: (a, b) = (b, a+b); return b
03:58
<~Vornicus>
They only actually become useless if you intend to use fibonacci exactly once.
03:59
<@Alek>
actually.
04:00
<@Alek>
yanno, if you return b FIRST, you'd return the whole sequence.
04:00
<@Alek>
cause it starts 1,1.
04:01
<@Alek>
and heck. drop the for. let it run forever.
04:03
<@Alek>
a = 0; b = 1; i = 2; while i > 1 return b; (a, b) = (b, a+b); i++; end while
04:03
<@Alek>
ok, now how can this be simplified even further?
04:03
<@Alek>
ah. (a, b, i) = (b, a+b, i+1);
04:04
<@Alek>
although.
04:04 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
04:04
<@Alek>
does the () operator use for a+b the original a or the a=b value?
04:05
<@Alek>
as in, does it add AFTER setting a=b or BEFORE?
04:06
<@Alek>
cause, yanno, if it's after, it ruins the code. >_>
04:08
<~Vornicus>
Alek: the assignment happens last
04:09
<~Vornicus>
and you missed it, the return is happening outside the loop in mcm's
04:09
<~Vornicus>
(mine doesn't have a loop per se but recurses to do its work)
04:09
< Tarinaky>
Hey guys.
04:09
<@Alek>
ok... that should work, then. and yeah, I figured. his is for returning the nth value. mine's for returning all values, so yeah. XD
04:09
<~Vornicus>
and in your case you'd want to use yield
04:09
<~Vornicus>
not return, because return ends execution
04:09
<@Alek>
yield? not familiar with that one.
04:09
<@Alek>
ah. point.
04:10 * Alek is still at basic level with c. <_<
04:10
<~Vornicus>
yield shows up in generators in python: use it when you have a loop that hands values back to the main program
04:10
<@Alek>
ah. no python knowledge here. yet. :/
04:11
<~Vornicus>
Execution halts but the state and in-function "program counter" remain.
04:11
<@Alek>
ooh. that IS useful.
04:11
<@Alek>
without it, you'd want to return the state and counters as well, if you wanted to resume at another time. is there a C/C++ equivalent?
04:12
<~Vornicus>
Not directly. it's sugar for the standard iterator stuff.
04:13
<@Alek>
please rephrase?
04:14
< Tarinaky>
I went through "Computer Organisation And Design" and I think I need a different (slightly more advanced) treatment.
04:15
< Tarinaky>
I can't see anything in that book that I'm not already familiar with.
04:15
< Tarinaky>
I was also hoping for something a bit more... practically minded than theoretical :x
04:15
<@Alek>
theory is also useful.
04:15
<~Vornicus>
Alek: technically, what python does is it takes your generator function and builds a proper iterator out of it, with the next() function built so it simply sets state and returns.
04:15
<@Alek>
it lets you expand on practice. XD
04:16
< Tarinaky>
Alek: They're both useful but I need more of one than the other.
04:16
<@Alek>
Vorn: ahk.
04:16
<@Alek>
Taki: true.
04:16
<~Vornicus>
So in C++ you'd build an iterator the normal way, and in C, well, I don't know what you'd do in C.
04:17
<@Alek>
I repeat, return the state and counter variables, then pass them back in next round?
04:17
<@Alek>
would that work?
04:17
<@Alek>
?_?
04:17
< Tarinaky>
Vornicus: struct State; ReturnType next(State*) ?
04:18
<~Vornicus>
That's pretty much the way it's probably done.
04:18 * Alek shrugs.
04:18
<@Alek>
is there even a point to learning C, any longer? as opposed to C++?
04:18
< Tarinaky>
Yes.
04:18
<~Vornicus>
C is a lot cleaner to work in.
04:19
< Tarinaky>
Some of the microprocessor and PIC IDEs I've seen use C or subsets of C.
04:19
<@Alek>
C# probably is useful, since a lot of games apparently use it, even today. and some businesses, or so I hear.
04:19
<~Vornicus>
Among other things it actually has an ABI
04:19
<@Alek>
ABI?
04:20
<~Vornicus>
binary interface - basically, C++ libraries are notoriously hard to get working with C++ libraries built even on different versions of the same compiler
04:20
<@Alek>
also, given that I should focus on one at a time, so as not to mix them up: which language should I focus on learning first, for employability?
04:20
<@Alek>
well, employability AND a base for learning other languages, perhaps.
04:21
< Tarinaky>
Look at job adverts in your area.
04:21
<~Vornicus>
Any procedural / object oriented language. Generally you're going to want to learn like five of them before I'd consider hiring you at all.
04:21
< Tarinaky>
Whatever language they name is the languages they're looking for skills in :p
04:21
<@Alek>
:P
04:21
< Tarinaky>
Then learn a bunch more.
04:21
<@Alek>
I seem to see a lot of Ruby around here.
04:21
< Tarinaky>
You should probably learn some Ruby.
04:21
<~Vornicus>
My list would go something like Python, C#, Javascript, Perl or Ruby, and Bash
04:22
< Tarinaky>
Does BASH even count?
04:22
<~Vornicus>
It's a language. I chose it because it's kinda weird.
04:22
< Tarinaky>
That'd imply DOS Batch was a language too.
04:23
<@Alek>
internet software: SQL, .NET(C# or VB), ASP.NET, JavaScript. random posting.
04:23
<~Vornicus>
It certainly seems to do enough
04:23
<~Vornicus>
The point of bash in there is that it has some very very different assumptions about what it's supposed to do.
04:23
< Tarinaky>
I suppose so.
04:24
<@Alek>
software eng: C, core Java, LAMP, PHP, Perl, Python...
04:24
<@Alek>
?_?
04:24
<@Alek>
ColdFusion, Adobe Flex...
04:24
<@Alek>
hm.
04:25
< Tarinaky>
Anyway. Any suggestions on what I ought to be looking at to bolster my knowledge?
04:25
<@Alek>
I'll dig out my books and try to make an effort, after the move.
04:25
<~Vornicus>
Avoid PHP if you can.
04:26
<@Alek>
I have some C and C++ books, and I think Python.
04:26
<@Alek>
why, Vorn?
04:27
<@Alek>
well, it's one of the P languages, I forget which, but I THINK it was Python. hrm. haven't looked at them in over a year. D:
04:28
<~Vornicus>
PHP is a really, really bad language.
04:28
<@Alek>
howzat?
04:28
< Tarinaky>
Wait, you mean there are alternatives to PHP?
04:29 * Tarinaky 's first experiences with PHP are some of the reasons he avoids touching webdev with a 10ft pole.
04:29 * Alek patpats Taki.
04:30
<~Vornicus>
Alek: okay so let's talk about strpos
04:31
<@Alek>
sure. >_>
04:31
<~Vornicus>
Pretty much every language has one of these in the standard library. C calls it strpos, python calls it str.index, etc. PHP has it too, of course.
04:32
<~Vornicus>
So strpos, what it does is, it searches a string we call the haystack, for a string we call the needle. And it returns the index that it first found the needle in the haystack.
04:33
<~Vornicus>
But what happens if the needle can't be found there?
04:33
<~Vornicus>
C produces an obviously bad index: -1.
04:33
<~Vornicus>
Python raises an exception.
04:33
<~Vornicus>
Most other languages fall into one of those two categories.
04:33
<~Vornicus>
PHP... returns False.
04:34
<~Vornicus>
Now, this wouldn't be so bad, except that False == 0, and it will be automatically cast to 0 any time you try to use it for anything, and 0 is a valid index into the string.
04:36
<~Vornicus>
So you have to manually check for False, every time.
04:36
<@rms>
...
04:36
< Tarinaky>
In fairness, you'd have to check for -1 every time in C too.
04:36
<@rms>
Guess what. If it returns -1 you'd have to do the same unless you want a really messy error.
04:36
<~Vornicus>
rms: sure, but at least -1 actually causes an error!
04:37
< Tarinaky>
Which isn't -always- desirable.
04:37
<@rms>
... or horrible memory corruption.
04:37
<~Vornicus>
False doesn't.
04:38
<@rms>
Also it's technically false, not False.
04:38
<~Vornicus>
Well, true
04:38
< Tarinaky>
I just realised a very good reason why Python has zero-indexed lists rather than 1-indexed lists.
04:38
< Tarinaky>
Without invoking analogy to C-isms.
04:38
<@rms>
However it doesn't matter because PHP gives zero fucks about casing on keywords.
04:39
< Tarinaky>
Python counts negative indexes in reverse.
04:39
< Noah>
And starts at -1 for those
04:39
< Noah>
Instead of 0 with positive indexes
04:40
<~Vornicus>
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ linked earlier.
04:40
< Tarinaky>
Making 0 be the last element is counter-intuitive.
04:40
< Tarinaky>
And making indexes discontinous could create headaches.
04:41
< Noah>
Yea, maybe I linked that
04:41
<~Vornicus>
You did.
04:41
< Noah>
I thought so
04:45
< Noah>
http://25.media.tumblr.com/tumblr_m2rhu1eOQm1qejqvxo1_500.jpg
04:48
< Tarinaky>
"I thought I had a problem, so I used C++. Now everything looks like a nail."
04:48
< Tarinaky>
"I thought I had a problem, so I used PHP. Now my problem is False."
04:49 * Tarinaky will never get old of that joke format ^^
04:49
< Tarinaky>
*get tired
04:54
<@Tamber>
"I had a problem, so I used PHP. Now my Function problem() is deprecated in joke.php on line 2 is False."
05:06
<@Alek>
does PHP even stand for anything?
05:06
< Tarinaky>
Hypertext Preprocessor
05:06
<@Tamber>
"Personal Home Page"
05:06
<@Tamber>
Or, it used to be something like that.
05:06
< Tarinaky>
Because people love acronym jokes.
05:07
<@Alek>
pah.
05:09
< Tarinaky>
Pah-Processor
05:10
< Tarinaky>
I'm going to shower and clean my room.
05:10
< Tarinaky>
BBIAB.
05:48 * McMartin fires up GMHTML5 again for the first time in awhile
05:50
<@Alek>
?
05:59 Kindamoody is now known as Kindamoody|breakfast
06:02 * McMartin makes BUTTOSN
06:02
<&McMartin>
BUTTONS, too
06:08
< Tarinaky>
BUTT OS N, the only operating system powered by flatulance!
06:08
< Tarinaky>
Now with the improved Gas desktop environment!
06:35
< Rhamphoryncus>
Tarinaky: negative indexes are a pretty meh reason IMO. Much better is allowing %len(...) to work
06:35
< Rhamphoryncus>
Hrm. I suppose that's not terribly common either
06:37 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited]
06:38
< Tarinaky>
Continuous negative indexes allow circular lists.
06:40
< Tarinaky>
Having 0 be out of bounds while 1 and -1 are in bounds would be pretty fucked up.
06:40
< Tarinaky>
And python doesn't have anything else that even really approaches reverse iterators.
07:07 Kindamoody|breakfast is now known as Kindamoody
07:22 Kindamoody is now known as Kindamoody|movie
07:33 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
07:33 mode/#code [+o himi] by ChanServ
07:34 eckse [eckse@Nightstar-dab5dc59.dsl.sentex.ca] has quit [Client closed the connection]
--- Log closed Sat May 12 08:12:16 2012
--- Log opened Sat May 12 11:01:16 2012
11:01 TheWatcher [chris@Nightstar-3762b576.co.uk] has joined #code
11:01 Irssi: #code: Total of 21 nicks [6 ops, 0 halfops, 0 voices, 15 normal]
11:01 mode/#code [+o TheWatcher] by ChanServ
11:01 Irssi: Join to #code was synced in 36 secs
11:56 Kindamoody|movie is now known as Kindamoody
12:01 Attilla [Obsolete@Nightstar-604551a6.as43234.net] has joined #code
12:07 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
12:19 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
12:19 mode/#code [+o himi] by ChanServ
13:07 Kindamoody is now known as Kindamoody|out
13:49 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
14:59 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code
15:51 Kindamoody|out [Kindamoody@Nightstar-6154a72a.tbcn.telia.com] has quit [Ping timeout: 121 seconds]
16:21 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out]
16:53 eckse [eckse@Nightstar-3b021371.dsl.sentex.ca] has joined #code
16:53 mode/#code [+o eckse] by ChanServ
16:54 eckse [eckse@Nightstar-3b021371.dsl.sentex.ca] has quit [Client closed the connection]
16:57 eckse [eckse@Nightstar-3b021371.dsl.sentex.ca] has joined #code
16:57 mode/#code [+o eckse] by ChanServ
17:32 Derakon is now known as Derakon[AFK]
17:44
< Rhamphoryncus>
So, despite all my trials with opengl, I now have 4 rainbow-coloured triangles pitching back and forth every few seconds
17:50 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
17:50 mode/#code [+o ToxicFrog] by ChanServ
18:40 Kindamoody|out [Kindamoody@Nightstar-6154a72a.tbcn.telia.com] has joined #code
18:40 mode/#code [+o Kindamoody|out] by ChanServ
18:41 Kindamoody|out is now known as Kindamoody
18:51 AnnoDomini [annodomini@A08927.B4421D.B81A91.464BAB] has joined #code
18:52 mode/#code [+o AnnoDomini] by ChanServ
18:57 ErikMesoy is now known as Prince
18:58 Attilla [Obsolete@Nightstar-604551a6.as43234.net] has quit [[NS] Quit: ]
19:05 Attilla [Obsolete@Nightstar-604551a6.as43234.net] has joined #code
19:06 AnnoDomini is now known as Jasever
19:06 rms is now known as Anna
19:26 EvilDarkLord is now known as Aeron
19:54 Silver_Adept [silveradept@Nightstar-0bcc338c.click-network.com] has quit [Ping timeout: 121 seconds]
19:58 Alek [omegaboot@510B1D.385A17.A0F5C0.46F96B] has joined #code
19:58 mode/#code [+o Alek] by ChanServ
20:02 Alek [omegaboot@510B1D.385A17.A0F5C0.46F96B] has quit [Ping timeout: 121 seconds]
20:16 Kindamoody is now known as Kindamoody[zZz]
21:23 Prince is now known as ErikMesoy|sleep
21:25 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has joined #code
21:25 mode/#code [+o Alek] by ChanServ
22:33 Derakon[AFK] is now known as Derakon
23:09
<&McMartin>
Rhamphoryncus: Can you re-link that OpenGL article?
23:09
<&McMartin>
Also, time to learn to use branches in git.
23:10
< Tarinaky>
One does not simply git branch into Mordor.
23:13
<&McMartin>
Indeed, that's why I need to make sure I won't leeg everything up.
23:26
< Rhamphoryncus>
http://www.opengl.org/wiki/Getting_started
23:26
< Rhamphoryncus>
http://www.arcsynthesis.org/gltut/index.html
23:26
< Rhamphoryncus>
http://www.opengl.org/wiki/Tutorial1:_Creating_a_Cross_Platform_OpenGL_3.2_Conte xt_in_SDL_%28C_/_SDL%29
23:27
< Rhamphoryncus>
And just ask if you want me to explain what a VAO is, what a shader is, etc. I put enough blood, sweat, and tears in to figuring it out (no, none of the articles explain it properly), so you might as well benefit from that
23:30
<&McMartin>
We'll see
23:30
<&McMartin>
Meanwhile, I have several years of experience in linear algebra, which I seem to recall as him dismissing as being unworthy of explanation as opposed to The Reason You're Here, so I may be able to trade~
23:30
<&McMartin>
I just need to go dig out the 1.x stuff that says what the deprecated fucntions actually did and thus how to do it yourself.
23:31
< Rhamphoryncus>
Yeah, I have somewhat of an understanding of transformation matrices now
23:32
<&McMartin>
That said: VAO = Vertex... Attribute Object? shader is their generic word for a vertex/fragment transformation program that turns model-space coordinates/surface fragments into viewspace or screenspace things
23:32 * McMartin had a 2.x crashcourse, but it didn't cover niceties like "how you get information from the CPU into the shader programs."
23:32
< Rhamphoryncus>
Enough that, with help from wikipedia to pick right combination sin/cos I was able to get my camera to pitch back and forth :)
23:33 * McMartin nods
23:33
< Rhamphoryncus>
Technically it's a vertex *array* object
23:33
<&McMartin>
Watch out for gimbal lock~
23:33
<&McMartin>
Oh
23:33
<&McMartin>
Those are old, I've used those.
23:33
< Rhamphoryncus>
but it's a meaningless distinction
23:33
<&McMartin>
VBOs are the things I haven't used.
23:33
<&McMartin>
Yeah, SVAF is based on compiled vertex/normal/texcoord arrays, which I believe VAOs are the generalization of.
23:34
<&McMartin>
Hell, SVAF itself was named for them: "Simple Vector-Array Format" =P
23:34
< Rhamphoryncus>
A vertex attribute is basically a format spec to read from your buffer. Format, stride, etc. The primary usage is to make a C struct (possibly packed) with the input arguments ("attributes") for each vector, such as position, colour, etc
23:34
<&McMartin>
The 2.x crash course is enough to teach me what I need to unlearn, anyway.
23:35
< Rhamphoryncus>
VAO used to have more functionality. opengl 3.1 strips off a lot of it
23:35
<&McMartin>
Can shaders declare their own persistent storage?
23:36
< Rhamphoryncus>
umm, there's something like that but very limited
23:36 * McMartin nods
23:36
<&McMartin>
I have a heightmap thing that would fun to do and I'm wondering if there's going to be anything in the end besides lighting for the vertex shader to do.
23:37
< Rhamphoryncus>
A shader is conceptually a function but technically the arguments (or "attributes") look more like globals. Ditto the outputs, which are the inputs to the next stage
23:39
<&McMartin>
Yeah, I get rendering pipelines.
23:39
<&McMartin>
The Vertex and Fragment shaders are wholesale replacements of older, more complicated systems that are the ones I trained on, so that part I'm feeling p. OK
23:39
<&McMartin>
As for what they do in the large, that is.
23:40
<&McMartin>
As for what all these buttons are, that's the trick, yes~
23:40
< Rhamphoryncus>
yeah
23:40
<&McMartin>
And almost everything I'd want to do in the old school and had to do in CPU it looks like in 2.x I still *do* have to do in CPU; some chatting elsewhere has informed me that this is because the things that I would have wanted to offload require use of "geometry shaders"
23:41
< Rhamphoryncus>
Yeah, geometry shaders are pretty new. I haven't learned what they're capable of yet though
23:44 * Vornicus wants to see linear interpolation between LoD maps
23:44
<&McMartin>
Tesselation is part of that, yeah
23:45
<&McMartin>
What I wanted waws "automatic normal computation given a collection of ploys"
23:45 Aeron is now known as EvilDarkLord
23:45
<&McMartin>
(polys)
23:46
<&McMartin>
(Basically, I want to hand the GPU a square grid of vertices and a height map and tell it "go to town" and have it compute appropriate vertex normals along with the lighting &c)
23:46 Jasever is now known as AnnoDomini
23:47
< Rhamphoryncus>
hmm
23:47
< Rhamphoryncus>
You can probably achieve that through a bit of evilness
23:48
< Rhamphoryncus>
a vertex attribute contains offset+stride information. You could make them overlap
23:48
< Rhamphoryncus>
oh, that won't get you more vertices than entries in your heightmap
23:50
<&McMartin>
Yeah
23:50 AnnoDomini [annodomini@A08927.B4421D.B81A91.464BAB] has quit [Ping timeout: 121 seconds]
23:50
<&McMartin>
What would have been boss is if (since it's a procedurally generated heightmap) I could have had the shader or a shader-like thing *generate and update* the heightmap as needed
23:51
<&McMartin>
Since the code in question was midpoint-displacement terrain, aka the plasma-fractal heightmap.
23:51
< Rhamphoryncus>
A geometry shader can create multiple output vertices for one input
23:51
<&McMartin>
Right
23:51
<&McMartin>
The problem here is that the vertices need to know about the locations of their neighbors.
23:53
< Rhamphoryncus>
"it is not adequate for tesselation purposes."
23:53
< Rhamphoryncus>
http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/geometry-shader/
23:55
< Rhamphoryncus>
... oh http://codeflow.org/entries/2010/nov/07/opengl-4-tessellation/
23:55
< Rhamphoryncus>
Opengl 4 introduced three new pipeline stages between Vertex shading and Geometry shading
23:55
< Rhamphoryncus>
Tessellation Control: Is Programmable. Decides how often a patch is subdivided.
23:55
< Rhamphoryncus>
Tessellator: Is configurable. Takes the data from control and produces new primitives.
23:55
< Rhamphoryncus>
Tessellation Evaluation: Is programmable. Receives the output of the tessellator, can modify each output vertex.
23:57
< Rhamphoryncus>
geometry shaders were standard in 3.2 and existed as extensions to 2.x
23:59 Anna is now known as rms
--- Log closed Sun May 13 00:00:17 2012
code logs -> 2012 -> Sat, 12 May 2012< code.20120511.log - code.20120513.log >

[ Latest log file ]