Font editor

So the font editor is nearly complete.  Here’s a few screen shots:

Posted on May 16, 2012 at 8:52 pm by Tape_Worm · Permalink · Leave a comment
In: Programming · Tagged with: , , , , ,

Editors

I decided to take a break from writing the library, and have been working on the editor.  Here’s a screen shot of the font editor in semi-action.  Please  note that this is very preliminary and there’s not a lot going on here.

Posted on May 6, 2012 at 11:54 pm by Tape_Worm · Permalink · Leave a comment
In: Programming · Tagged with: , , , , , ,

More text stuff.

Here’s a sample of text rendering in Gorgon 2.0 (Dorian).  It’s rendering 16,019 characters, animated with shadowing (which doubles the character count), plus the FPS counter.  When it renders the text, it renders with kerning information (provided the font has any) so the output should be properly spaced.  And while it’s doing this, it’s scaling the text to pump up the fill rate.

All that at ~75 FPS, that’s not too bad hey?

In this particular “demo” you can see that I’m able to compress and expand the lines of text.  This is possible because of the new “LineSpacing” property in the text object.  This allows the user to set line spacing by setting a multiplier.  For example, a LineSpacing of 2.0 will give you double spacing and 0.5 will only move the lines half way.

Anyway, I’m still plowing through all of this.  And I’m pretty happy with the results.

Posted on April 26, 2012 at 9:45 pm by Tape_Worm · Permalink · Leave a comment
In: Programming · Tagged with: , , , , , ,

Gorgon v1.x – Visual Studio 2010

I’m updating the solution and projects for Gorgon 1.x in the Subversion respository to use Visual Studio 10 .  The current binary release still uses Visual Studio 2008 and will continue to do so until a new release is put up.

If you are freaking out over this because it’ll somehow be the end of everything you love and hold dear, stop whining and get the express version of VS 2010 here.

Please note Gorgon still uses .NET 3.5 SP1 and you can use the binaries with Visual Studio 2008.  Again, you only need Visual Studio 2010 to compile the source for Gorgon.  I cannot stress that enough.

Posted on April 22, 2012 at 12:01 am by Tape_Worm · Permalink · 2 Comments
In: Programming · Tagged with: , ,

Text output and Fonts

Sweet merciful fuck.  That was painful.

I just spent the last 4 evenings/nights writing Gorgon’s font system and it was not fun.  And, of course, I’m still nowhere near done (still have to create the TextSprite object, and other the font effects like gradients and GDI+ image brushes).  But, I got it working.  Not only that, unlike the previous incarnation, it actually implements kerning properly (well, approximated kerning, I’m not dicking around with actual kerning.  Fuck that.)    One of the things about the 1.x font/text rendering that I absolutely hated was while it was worked, every now and again (especially on smaller fonts), it’d screw up and a letter would appear slightly (or not so slightly) shifted.  Quite annoying.   Here’s a screen shot showing how awful it was compared to GDI+ and how awesome v2 is going to be (click to expand it):

Gorgon/GDI+ text comparison

Gorgon/GDI+ text comparison

Note that all text is the same font:  Arial, 9.0 point, Bolded and Antialiased.  Also note that v2.0 is nearly (but not quite pixel perfect) identical to the GDI+ DrawString version.  I think that’s a slight improvement.

Read the rest of this post »

Posted on April 17, 2012 at 12:48 pm by Tape_Worm · Permalink · 2 Comments
In: Programming · Tagged with: , , , , , , , , ,

Yet more shaders

Here’s another bundled effect, the Gaussian Blur shader:

If you see any stuttering, blame Fraps, I was getting over 1000 FPS while it was blurring and running.

Posted on April 4, 2012 at 6:19 pm by Tape_Worm · Permalink · Leave a comment
In: Programming · Tagged with: , , , , , , ,

Gorgon Shaders

So I got custom shaders up and running in Gorgon 2.0.  The new version has always had shader ability because it’s using Direct3D 11, so it’s required to use them.  However, up until now the shader code has been hardcoded to use 3 default shaders.  But after today, there’s an ability to use customized shaders:

In this little sample, there’s a new system at work.  It’s basically a mini effects framework that can do multi-pass rendering and in this video there’s a wave shader and an embossing shader at work on the sprite.  If you want to learn more, click the stupid link below

Read the rest of this post »

Posted on April 2, 2012 at 6:24 pm by Tape_Worm · Permalink · Leave a comment
In: Programming · Tagged with: , , , , , , ,

Hi I’m ShadowDust :D

In order to give Tape_Worm more time with the next Gorgon and other things, I’ll be maintaining the 1.x version of Gorgon. So in other words if you have problems, or feature requests, or along those lines with the 1.x version then I’m your man.

Posted on March 15, 2012 at 5:36 pm by ShadowDust702 · Permalink · Leave a comment
In: Uncategorized

Does anyone really want Direct3D 9 video card support?

I am sick as a pig. I hate having a fucking cold.

So, I figured out the issue that prompted all of this and it took damn near forever. Apparently feature level 9.x devices can’t copy GPU data to resources (e.g. textures) that have a shader binding flag set to CPU accessible resources. And apparently the D3DX functions to save the texture does exactly that. It copies the GPU texture to a CPU staging texture and writes that out (makes sense, reading from the video device is a no-no). Unfortunately my device object just says “fuck it” and promptly dies when this happens, which seems like a driver problem. Anyway, it’s fixed now. Not that it matters, but it was painful and could have meant the end to Direct3D 9 video card support in Gorgon (which no one probably really cares about anyway).

Unfortunately the fix comes at a price. Part of that price is increased memory usage. It’s painful enough to have to create temporary textures when converting to a format that’s not able to accept anything by standard RGBA 32 bit formatting, but with the feature level 9.x there needs to be another temporary texture that doesn’t have a shader binding flag. It’s kind of gross. The other part is that the only way to get it without a shader binding is to create the texture as a render target (unordered access views would have been nice, but they’re for Direct3D 11 devices only), so that limits the number of formats that can be used when saving.

Anyway, thought I’d throw that out there.

Posted on March 11, 2012 at 11:01 pm by Tape_Worm · Permalink · Leave a comment
In: Programming · Tagged with: , , ,

Stupid drivers…

I need some help, I’m having issues when saving a texture and I need to know if it’s a driver issue or something in Direct3D 11.  I have a post in the forum about it here.  If you can help and you have an Nvidia video card, please go read the post and run the test application (Windows 7/Vista SP2 required).  Thanks.

Posted on March 10, 2012 at 8:57 am by Tape_Worm · Permalink · Leave a comment
In: Uncategorized · Tagged with: , , , ,

You’re so primitive.

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):

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…

Read the rest of this post »

65536 balls.

So, I’ve gotten most of the sprite functionality back into Gorgon 2.0.  And of course, with the help of my stupid ball demo program I learned something neat… (click the “read the rest of this post…”, you know you want to)

Read the rest of this post »

Posted on February 22, 2012 at 10:36 pm by Tape_Worm · Permalink · 2 Comments
In: Programming · Tagged with: , , , , , , , ,

So, here’s some more proof that I’ve been working on the next version of Gorgon:

As per the description on the youtubes:

An example showing the new version of Gorgon.

Currently this is just a simple sprite test using 1024 multi-textured sprites via shaders on Direct3D 11 hardware. It also shows a new feature that’s being planned (but not promising anything) to use the 3D stuff to allow perspective corrected sprites.

This video also shows depth for the sprites by walking a camera into the sprite cloud.

Currently getting about 1200 FPS with this (the selective multi-texturing really slows shit down).

Gorgon the 2nd

Just a quick note to say that I’m still working on the next version of Gorgon.  And it’s going swimmingly.  I got 100,000 textured, alphablended sprites (not animated, just blasting the polygons to the screen, so really, it’s 200,000 triangles ) going at about 30 FPS.  I’m pretty pleased with that.  I’m sure I could do better, but I’m lazy.  Anyway, back to work…

Posted on January 30, 2012 at 1:09 pm by Tape_Worm · Permalink · One Comment
In: Programming

Social networking.

I’ve decided to remove the social networking stuff.  It’s only a fad anyway.

Seriously, Gorgon’s not big enough to warrant that stuff.  It was a nice idea, but in the end futile.

Posted on January 4, 2012 at 11:32 am by Tape_Worm · Permalink · Comments Closed
In: Google+ · Tagged with: