opentk

2016 Gallery 2: OpenTK and FBX Models

My initial attempt to get some vertices on the screen was not very successful. I believe it was accidentally sampling color values as position information.

The next attempt was a little better but still not very great

Getting closer. The positions of the vertices were all correct but the indices and colors were not.

Finally we got the right positions, colors, and even somewhat correct texture coordinates. However the y value seemed to be flipped, hence the upside-down face.

Finally got the model loaded correctly. This was a stress test to see how many I could draw on screen at once.

2016 Gallery 1: OpenTK Voxels

The first voxels and model loading I got working in OpenTK/C#

With voxels working I started working on getting some voxel characters animated.

I got a simple running animation working with some nice tweening for rotating the arms and legs.

I got a 3D grid based ray-casting working and simply filled the blocks I passed through to represent the steps taken during the ray-cast.

Just messing around with the orthogonal view and block placement using the ray-casting.

Tried doing some custom shaders to do bump mapping and lighting.

Absence

Hey everyone! 

As many of you that have read my tutorials have noticed, I've been inactive for the last year and a half. I Had been making tutorials about OpenTK back in June of 2015. At the time OpenTK was great for my purposes since I loved C# and it gave me all of the functionality of basic OpenGL.

However in August I started to have some major problems with performance. I was trying to scale up my side projects to include some modeling and animation and I ran into some major problems trying to render even 5-10 textured models before it would drop below 30FPS:

This led to a bit of a long hiatus where I started looking for ways to either optimize C# or another platform I could enjoyably work on.

Up until this point I had tried many different libraries in C# and other languages and never had found anything that really suited my purposes. I had always wanted to get down lower and do some work in a C++ engine but I hated the weird allocation/deallocation rules that I always ran into. Don't get me wrong, I'm fine with not having garbage collection but using C++ in an Object-Oriented way always led to a slew of weird memory problems.

So after some time looking around and experimenting again with SFML, SDL, Love, JLWGL, and others I finally found Handmade Hero. (http://www.handmadehero.org) Handmade Hero is a show run by Casey Muratori where he "codes a complete game in C/C++, from scratch, using no libraries, live on twitch." I highly recommend the show if you haven't seen it already. So I began watching his show and learning a lot more about C and how C++ is different and I realized I really love C but I really hate most of the features of C++.

So for the past 5-6 months I've been following his videos and making my own home-brew engine. I started out doing the rendering/blitting myself like he does in the show but then moved on to using DirectX as my 3D rendering API.

And that brings us to the present day. I'd like to start updating this site again and adding some good content for people wishing to learn the things that I've learned.

I know a lot of you have enjoyed my OpenTK video and text tutorials and I know that the source code is no longer hosted. I will look through my archives to see if I can find the source code for those but I can't guarantee that the code will still run. It seems there were some changes in the latest version of OpenTK that deprecated some of the functionality I used in those tutorials. Unfortunately I don't have the time or the interest anymore to go back and redo any of that code but I will try to get something hosted for you to look at.

I'm no longer planning on making any tutorials for OpenTK. However, I would still like to find a way to share source code and things that I have learned to give people a chance to see some examples of how you might set something up. I don't claim to be an expert in C++ or DirectX but I would like to do something to share the things I have learned and the methods I have used to get my projects working. Over the next couple months I'll be looking for ways to accomplish that goal. A lot of the initial content on this blog will simply be screenshots I've collected over the last year of working in C/C++.

Thanks for all the comments and support you guys have shown for the tutorials I made so long ago. I hope the new content will also be enjoyable and help some of you out there.