Simple .NET library to display graphs

Hi everyone,

An example of graph
An example of graph

A very short post to share this first draft of a simple .net library to handle graphs. It allows to add nodes, pins, connections, and events on the graph. Some properties and events are directly accessible through the properties/events pane in visual studio.

It’s probably missing a lot in terms of functionnalities, however the below features are already there:

  • Nodes, Pins and Connections manipulation (Add, modify, remove)
  • Selected state, selectors (click, rectangle…)
  • Events (click, double click, picking on the connections)
  • So far, the nodes are only boxes, and only contains a main and sub titles. However, there might be other shapes later, with a way to customize the nodes content.

I’m using this component in a scripting tool I’m planning to add to the GameTools release.

If you find this component handy, or if you have feedbacks about it, don’t hesitate to let me know.

 

Download

Projects Update

Hi everyone,

I uploaded today a first version of EasyBiz, a small tool I made for managing my activity as Auto-Entrepreneur. It handles invoicing, customers, transactions, reporting, and even comes with a paypal integration. I’ll try to update it with a plugin for tax declaration (Net-Entreprise connector) soon. More info on the project page.

Aside of that, I’ve been working on a refresh of Gametools. Many bugfixes, but also a complete redesign of some of the apps. The most drastic modification is the introduction of a tool to generate and manage icons collections. (the idea is to be able to apply a modification such as the icon background or the icon shape on the whole set automatically). All of this as much vectorial as possible, and with spritemapping capabilities (so it should replace the current spritemapper). I hope to be able to upload a first version after eastern vacations.

Easybiz
Easybiz

A bit of nostalgia

I recently stepped on a folder on my desktop, containing several old pieces of code, and most of them actually still worked well. So after several screenshots and a bit of nostalgia, here there are.


Video mapped landscape (with lighting)
Video mapped landscape (with lighting)
This small project was a test to ensure I could delegate per-pixel process to a pixel shader. I had to map the video on a model, use an orthographic projection, and make sure the shader will properly be applied to pixels in the video.
However, once I was done with the video mapping procedure, I couldn’t resist to map the video on a funnier model than the quad I was using. So here is my perturbated landscape, with a live video stream coming from a locally connected webcam.

Cartoon rendered model
Cartoon rendered model
When working on the Teapotware, we tried to separate the rendering from the world/scene design. We ended with a plugin based system that allowed the same scene to be rendered with Direct3D, OpenGL, or even sub-flavored renderers. The picture shows a simple scene (with only one object and one light) rendered with the our Direct3D – Toon rendering plugin.

Realtime Raytracer
Realtime Raytracer
At the engineering school, I worked on a raytracing renderer. It worked well, but it was full-software (not HW accelerated), and as a result, pretty slow. A couple of years later, I came up with a new idea: things could be partly accelerated with OpenGL: instead of calculating all the rays at once, the idea was to trace only a subset, and let opengl interpolate the colors between the rays. Then, once the scene/camera is still, the intermediate rays are traced, improving the quality of the overall render.

As you can see, there is no antialiasing, and the scene is not particularly impressive (a mirror on the back, a partially reflexive sphere, and a mat box). However, this is realtime.

Nowadays, it could be even easier with GPGPU, but I coded this years ago, when the only thing I could use was PS 2.0.

The maze project, first person
The maze project, first person

The maze project, top view
The maze project, top view
I worked on this project while I was in Japan, as a freelancer. The idea was to provide a tutorial-like app, with a set of constraints: a maze was described in a file, and a maze crawler (the white shpere) had to follow a path to collect objects in the maze at a given speed.

I also opened the source of a couple of those projects, and thanks to the teapotware, it was impressively clear and lightweight. For instance, the whole videomapped landscape project contains less than 180 lines of code.

I’ve recently (about 2 month ago) decided to remove the dust of the teapotware. There are things that can clearly be improved (the memory manager for instance), and even the design of some classes/interfaces can be discussed. On the other hand, the purpose of the library remains the same: to provide a robust crossplatform library applied to multimedia. I’m afraid I can’t give any release date yet (my weekends are pretty short these days), but it shouldn’t take that long.

Gametools 1.5 Released!

Months after the initial release of gametools, I am very pleased to announce the release of the 1.5 version.

What changed? Not much, but a lot in the same time. The biggest modification was in the XNB support. Files are now parsed directly, not loaded in an XNA app to extract things. As a result, many limitations of the 1.0 version were fixed. (loading an asset on a different platform or with different profile for instance). It changed a lot the architecture of GXView. GXView is more stable, and a wider selection of XNB is viewable.

SpriteFont and Audio can now be previewed/extracted! And I expect to be able to load/extract 3D models and cubemaps really soon.

HMEdit can now generate normal maps (here above). So the tool is not only dedicated to landscape generation, but can help you to create good looking materials.

And ScreenBuddy can now batch-create thumbnails. (Useful to create thumbnails out of a folder containing images, or to generate websites thumbnails)

The licensing terms did not change, nor the download page. I want to warmly thank every donator. It really helped to keep this project alive, and I hope you will like this new version.

The download page: here