OpenGL / Mesa3D programming in Visual Studio

Update: You will need to move the various .dll files into your project folder so they are in the path of the application, otherwise you will get missing DLL errors.

I am currently taking the Computer Graphics and Visualisation module at university and it require writing some programs in C using OpenGL / Mesa3D. Unfortunately the guides and tutorials they give on how to do it on Windows are from 1997, so i have decided to update them for 2010.

In this tutorial i am using Mesa3D 7.6.1, Visual Studio 2008. It also works with Visual Studio 2010 Beta 2.

The first step is to either download the Mesa3D Binaries from here or to compile them from source (compiling from source is pretty simple). Then extract the file somewhere sensible.

The second step is to setup a Visual Studio project so we can actually code something.

First create a new ‘Win32 Console Application’:

image

Then choose your options. I’m picking a Empty project for this, but modify the options to what ever your needs are.

image

Click finish then we, and we have our newly created project. Now we need to make a few changes, to include the additional libraries, and header files we require.

image

Open up project properties. Then under ‘Configuration Properties’->‘C/C’++->’General’ you have the ‘Additional Include Directories’ setting, open this up, and add a folder, and navigate to your Mesa3D folder and select the ‘include’ directory.

It has been noted that you need to have at least ONE .c / .cpp / .h file in your project for the C/C++ options to become available.

image

Then go back to project properties, now under ‘Configuration Properties’->‘Linker’->’General’ you have the ‘Additional Library Directories’ setting, open this up, and add a folder, and navigate to your Mesa3D folder and select the ‘lib’ directory.

image

Now you can do your coding as you like. Import code straight from your Linux projects (Use ‘Add Existing Items’) and it should compile fine if you have done everything correctly.

Anyway i hope this helps someone, if you have any comments for potential improvements or problems you are having, then please leave a comment and i will try to help out.

Work has been stopped on RedKite

Today i decided to stop work on RedKite, for a few reasons:

  1. I found a client called sobees which does pretty much everything i wanted out of RedKite
  2. I have plenty of other projects i am working on
  3. RedKite requires a lot more work to get it to the Quality of sobees.

I am slightly saddened by this, but now i can spend time on my next major project, which is a decent IRC Client for Windows.

Improvements to Windows 7

(just a quick note, i wrote this quickly, so there may be mistakes, and badly worded bits, so please tell me so i can update it)

I have been using Windows, and Windows 7 for a long time now, but like any operating system it has flaws and problems.

Problem 1 – Upgrading

The biggest problem that some of my friends have encountered is upgrading from a previous version to Windows 7. They need to make the upgrade system more flexible, removing issues such as upgrading from Business to Home Premium which currently requires a clean install. Upgrades also take a lot of time and can be unsuccessful.

Problem 2 – Installers

There are various installer systems for Windows, all of them different. As a user i would really like one underlying installer system that EVERYONE would use. I’m not saying they all need the same UI, but they should all use the same underlying technology, which should be Windows Installer.

They also need to add a auto updater protocol in this so that people can keep their software up to date via one interface. Something similar to Windows Update. This will keep people up to date, which means more stable software, more secure software, but also a way for companies to potentially advertise upgrades to newer versions, and the best bit of it all, the user gets a better experience.

This might also help improve Problem 1, as if everything uses the same installer system, then its easier to migrate programs across.

I know some projects like NSIS wouldn’t like this, but there are plenty of open source Windows Installer based systems for creating installers, e.g. WIX.

Those are the main two issues i see today, there are of course other issues, but they are minor.

Windows 7 has really improved on performance, but there is always more you can do.

Also i would like to be able to install a base version of Windows e.g. Professional, then buy licenses for the extras that appear in higher versions like BitLocker, without having to pay for all of the other extras that come in Ultimate. This would unleash new avenues of revenue for Microsoft, as well as helping to make Windows more modular.

If you have anything to add to this, or that you would like to suggest, then please comment, and i might make a follow up post.

Update on RedKite. The road to 0.20

I have been working on RedKite for the past few days and am making some headway towards version 0.2

Here’s the latest Screenshot of it

RedKite-0.2.r5

It still desires a fair amount of work in the UI department, but i have decided to concentrate on functionality until i can find a good design for the UI, or someone creates a good design.

All feedback is welcome.

My Theme (using images from Bing)

I was recently using this theme which is based on a RSS of the images used on Bing worldwide.

And i was looking at one particular image of Dartmoor (Devon, UK) and thought it fitted in nicely. So here it is all packaged up for you to use.

Bing Based Theme

Screen Shot:

BingBased

Note i am using Fences which provides the boxes on the right of my screen, its really rather cool and i know it copies a feature from KDE4, but its rather useful.