15,438 reputation
13571
bio website vectorstorm.org
location Melbourne, Australia
age
visits member for 3 years, 10 months
seen 55 mins ago

Mobygames Profile (not entirely accurate): http://www.mobygames.com/developer/sheet/view/developerId,80048/


2d
comment Minesweeper number placement
Submitting this question required more typing than it would have taken to implement both approaches and time them.
2d
comment Why does glBindVertexArray sometimes fail (but mostly not)?
So this was nothing to do with garbage collection at all. The problem was that you had multiple OpenGL contexts in one process, and you weren't setting the OpenGL context to use, before telling OpenGL to destroy objects. This meant that sometimes you were unintentionally deleting objects out of the wrong context. Which unsurprisingly leads to errors when you subsequently tried to draw using those deleted objects.
Mar
26
comment Why does glBindVertexArray sometimes fail (but mostly not)?
Define "glBindVertexArray() fails". What does that actually mean? Is OpenGL reporting an error? What is the error message, if so?
Mar
26
comment What is the highest quality way to render warped text on Windows?
How large will this text be on screen? DirectWrite (and similar systems) will make a big difference in very small text, such as body text on a web page, but its benefits are less dramatic when it comes to larger text, such as titles (which is usually the only place where one would even consider warping, which is why I ask)
Mar
16
comment libsdl1.2-dev error messages in terminal and Synaptic
Agreed that this is an askubuntu.com question. But with that said, I had exactly this issue with almost exactly this set of packages (Though I was installing libsdl2-dev, rather than libsdl1.2-dev). It seemed to be related to using the xorg-edgers ppa with Ubuntu 14.04. Upgrading to Ubuntu 14.10 worked around the problem completely.
Feb
17
comment How can I handle ball interaction with lanes in a pinball game?
Note that in pinball terminology, "those highway rails/tracks" are called "lanes". (and sometimes "inlanes", "outlanes", "loops", "ramps", or "habitrails", depending on specific characteristics of the lane)
Feb
14
comment Is 50KBs of bandwidth practical for players?
(Note that some folks will argue that a Kilobyte should be considered to be 1000 bytes, and that a Kilobit should be consiered to be 1000 bits (125 bytes), to match the standard metric usage of the 'Kilo' prefix. And that if one means 1024 bytes or bits, one should instead use "Kibibyte" or "Kibibit", which can be abbreviated as KiB and Kib, respectively. I am not one of those people, but it's worth mentioning.)
Feb
14
comment Is 50KBs of bandwidth practical for players?
Just to confirm: when you say KB, I assume you mean KiloBytes (1024 bytes)? As opposed to KiloBits, typically abbreviated as Kb (1024 bits, or 128 bytes). Just wanted to make sure, since it's easy to confuse those two units in this sort of conversation.
Jan
26
comment Background Music in Puzzle Math Game
I'm voting to close this question as off-topic because "where free assets can be found" is explicitly off-topic for this site, as per the site help
Jan
10
comment OpenGL - Arcball camera rotation
You can't implement arcball control that way. If you're using pitch and yaw accumulators (such as your 'pPitch' and 'pYaw' values), then you're not building an arcball; you're just using normal euler angles, like you'd see in a ground-based FPS shooter. You already have all the right pieces in your code; you just want to actually render using 'pViewMat' as your view matrix, instead of using 'pPitch' and 'pYaw' to build a new one.
Jan
9
comment OpenGL - Arcball camera rotation
There's not enough information here to actually tell us what problem you're having, but if I was a betting man, I'd bet that you have code not shown that's using those 'pPitch' and 'pYaw' values to set the view matrix, instead of actually using the 'pViewMat' matrix that you set up in Camera::update(). Since your pPitch and pYaw values are crazypants and not actually related to the camera position or target position in any way, that'd explain why the camera isn't pointing at the target.
Jan
9
comment OpenGL - Arcball camera rotation
...you're not doing anything with the 'pPitch' or 'pYaw' values. You put numbers into them and clamp them, but they don't actually influence anything in any of the code you show here.
Dec
24
comment What is the cause of this lighting artifact on my dynamic terrain mesh?
So the idea is, if (fabs(TR-BL) < fabs(TL-BR)) { Make BR-BL-TL and BR-TL-TR } else { Make BR-BL-TR and BL-TL-TR }. Any non-planar quad (such as virtually every quad in a heightmap-based terrain) will 'buckle' as it's turned into triangles for rendering, and that 'buckle' will happen along the new triangle edge that you add, so it's going to run diagonally through the quad, one way or the other. The theory is that you get far fewer buckling-related artifacts if you make sure to put that buckle in between the diagonal vertices which are the most similar to each other.
Dec
24
comment What is the cause of this lighting artifact on my dynamic terrain mesh?
@GenericJoe Sure. When you're converting a quad into two triangles, there are two ways you can do it; to use your terminology, you can either do "BR-BL-TL" and "BR-TL-TR", or you can do "BR-BL-TR" and "BL-TL-TR". The first pair of triangles puts the triangle diagonal between TL and BR, while the second pair puts the triangle diagonal between TR and BL. In your code, you always do the first pair of triangles. When I say "choose the closer of the two diagonals", I mean to check whether the change in height between BR and TL is smaller than the change in height between BL and TR.
Dec
23
comment How to setup glOrtho and Viewport
@AndonM.Coleman I say again: We're going to have to agree to disagree. Please stop posting further comments on my answer.
Dec
23
comment In-development technologies for improvements in video game graphics and design
"The advancement of the arts, from year to year, taxes our credulity and seems to presage the arrival of that period when human improvement must end." -- Henry Ellsworth, Commissioner of the US Patent Office, in a satiric aside to an 1843 report to Congress reporting a new record high in the submission of new inventions.
Dec
23
comment How to pick a 3D object with known mouse coordinates if the camera is rotated 60 degrees?
As reference for gluUnProject()-based approaches: Using gluUnProject to transform mouse position to world coordinates
Dec
23
comment How to pick a 3D object with known mouse coordinates if the camera is rotated 60 degrees?
Gah, good clarification, Lars! My brain was elsewhere. I've never actually used gluUnProject(), so I was going based on memory of overheard conversations. You're right; gluUnProject doesn't read back the Z-Buffer itself; that's usually the immediately-prior step in gluUnProject()-based answers, for determining the window 'depth' input value that gluUnProject() wants. Will amend my answer.
Dec
23
comment How to pick a 3D object with known mouse coordinates if the camera is rotated 60 degrees?
(Actually, a more correct answer would probably be to put the screen on the near clip plane, and would be firing from the pixel's position on the near clip plane, firing directly away from the camera. But this answer was already too wordy/mathy, and this distinction won't make any difference for most games.)
Dec
23
comment Fragment Shader output type error
I've gone over a diff of the two versions of the loading code; the only material differences (besides different indenting and a few modified variable names) is the code for printing out the shader info logs. The original code destroyed shaders and exited when a compile error was reported. The new code does not. (In fact, the new code doesn't even check whether the shader compilation succeeded) Whatever solved the problem, it seems implausible for it to have been related to this code.