You

posted in OMG NUB! for project Gorgon
Published February 29, 2012
Advertisement
sitelogo.png
So, I'm moving to a new place tomorrow and work on Gorgon v2 is going to halt for a bit until I get my life back in order. In the meantime, here's a screenshot of the primitives (rectangles, lines, etc...) that have been making me insane (click it to see a larger version):
GorgonPrimitives-256x192.png
You can see the line (barely, I know, you can see it when it's running for sure) and the rectangle, but I've gotten ellipses to work as well. Now, what's the big deal you ask? (You are asking that, I demand it). And I'll tell you. Unlike the previous incarnation where the primitives were generated one pixel at a time (very inefficient), this time it's using polygons to generate the primitives. So a line is using the line drawing on the video card, the rectangle and unfilled ellipse are using the line drawing as well and the filled ellipse is using triangles. So all in all, they're MUCH faster than the previous version. For more details click the thingy at the bottom there...
All primitives (except points, they don't support texturing because, well, they're points and there's no... forget it) support texturing for their filled and outlined mode, and support line thickness and are now actual objects. You can create a line by calling CreateLine or what have you and you can reuse it as you wish. The advantage is that these objects now get a lot of the same functionality as a sprite, like anchoring, rotation, scaling (lines don't though, they're a little different). You don't need to create explicit instances of primitives however, there's also an interface that will draw the primitives directly to the target if you don't need a lot of control.
There is one caveat: The quality of rendering for the ellipse object is adjustable, so if you want really smooth ellipses, then you'll probably hit a performance penalty (more lines/triangles to draw). I've found a setting of 64 (which is the number of line segments used to draw the object) is pretty good.
The line thickness was a real farker to get working. Basically it draws a line as a quad, and for non-textured, that's fine, however for the texture coordinates... man, it was brutal. But I learned some neat things from Vortex 2D.Net (by Alex Khomich, and is a great library, I highly recommend it) and now it's working better than I could have hoped.
To give a summary of the image:

  • The "sprite" of the ball, is not a sprite, it's actually a filled ellipse using the ball as a texture.
  • The ball with the center cut out is an unfilled ellipse using a texture and a thickness of 3 pixels.
  • I am farking tired.

    Anyway, that's it for today. Hopefully it won't take me too long to get back on track after the move.

    Source
Previous Entry 65536 balls.
Next Entry Stupid drivers
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement

Latest Entries

Gorgon 3.2

10613 views

Gorgon v3.1.46.255

3789 views

Gorgon v3.1.45.248

3402 views

Gorgon v3.1.29.243

4736 views

Gorgon v3.1

4523 views

Gorgon Update #10

3519 views

Gorgon Update #9

3689 views

Gorgon Update #8

3427 views

Gorgon Update #7

3655 views

v3.0 Release

4209 views
Advertisement