TIGSource Forums

Developer => Technical => Topic started by: bobenko on September 04, 2013, 02:00:53 AM



Title: C++ live coding, simple demo
Post by: bobenko on September 04, 2013, 02:00:53 AM
Simple demo I've created to show how changes made in C/C++ code are mostly instantly displayed on screen.

(http://tgdev.files.wordpress.com/2013/09/live.png)
http://youtu.be/wAgk6iDeT8A (http://youtu.be/wAgk6iDeT8A)

I use dynamic libraries at it's heart  ;)


Title: Re: C++ live coding, simple demo
Post by: vittorioromeo on September 04, 2013, 03:35:41 AM
Very cool! Source?


Title: Re: C++ live coding, simple demo
Post by: Daid on September 04, 2013, 05:40:05 AM
Clever idea. I guess your main code is a dynamic library which you unload and reload on changes?

How would you deal with resource leaks? Not just memory but also loaded textures into Videomemory?


Title: Re: C++ live coding, simple demo
Post by: Polly on September 04, 2013, 05:59:16 AM
Nice demo :) Reminds me a bit of ZGameEditor, which allows you to use any dynamic library like that ( not just OpenGL ).

(http://i.imgur.com/LdiNCCr.gif)


Title: Re: C++ live coding, simple demo
Post by: bobenko on September 04, 2013, 06:12:32 AM
Clever idea. I guess your main code is a dynamic library which you unload and reload on changes?

How would you deal with resource leaks? Not just memory but also loaded textures into Videomemory?

I haven't though about what will I do with this demo next, but main application contains all required functionality like resource management, scene loading unloading, so I guess it can simply free all unused resources right after dynamic library unloading or later.


Is ZGameEditor using some scripting language? if so it's not such a big problem to add drawing code like that.
The main idea is to use C++ as simple as possible without need to compile and run application every time.


Title: Re: C++ live coding, simple demo
Post by: Polly on September 04, 2013, 06:30:16 AM
Is ZGameEditor using some scripting language?

It uses a C-like language with a custom compiler ( Coco/R powered ).

The main idea is to use C++ as simple as possible without need to compile and run application every time.

Yea, this is why i like environments such as ZGE. No need to recompile / restart your project when you want to import a texture, modify a bunch of code, add a shader, remove a 3D mesh etc. You can just do it on the fly while your project is running.


Title: Re: C++ live coding, simple demo
Post by: Daid on September 04, 2013, 08:41:55 AM
Clever idea. I guess your main code is a dynamic library which you unload and reload on changes?

How would you deal with resource leaks? Not just memory but also loaded textures into Videomemory?

I haven't though about what will I do with this demo next, but main application contains all required functionality like resource management, scene loading unloading, so I guess it can simply free all unused resources right after dynamic library unloading or later.
Ah, yes, clever. I might setup a project like this someday. Any pitfalls you encountered?


Title: Re: C++ live coding, simple demo
Post by: Klaim on September 04, 2013, 01:35:49 PM
Hi, do you know this: runtimecompiledcplusplus.blogspot.com