I haven't had much time to do anything lately as I'm being forced to take a vacation this week and arrangements have been my major focus. I did manage to setup a cool rendering of plane water with projected reflections. The idea came from one of Yann L's articles. It's basic and doesn't use shaders…
Graph it...
Zefrieg made the suggestion that I use a graph with an associative container such as the std::map as an alternative to the dynamic 2D array. I'm obliged to say that I am quite impressed with the well thought out response Zefrieg presented. Thanks again Zefrieg. The major concern was the …
Zefrieg made the suggestion that I use a graph with an associative container such as the std::map as an alternative to the dynamic 2D array. I'm obliged to say that I am quite impressed with the well thought out response Zefrieg presented. Thanks again Zefrieg. The major concern was the …
A2 reflection...
My last couple of posts have been casual and without focus. I think this tends to be my state of mind after concluding a complex project. The A2 interpreted language continues to be a great programming experience for me. I was able to get practical functionality into the language wi…
My last couple of posts have been casual and without focus. I think this tends to be my state of mind after concluding a complex project. The A2 interpreted language continues to be a great programming experience for me. I was able to get practical functionality into the language wi…
Kites and Pirate Sails...
I've been considering adding springs to my static model format. To do this I could allow the modeler to identify vertices that would become "soft" before exporting the model. Other properties of the spring system (mass, wind, etc) could be controlled from code. Something to…
I've been considering adding springs to my static model format. To do this I could allow the modeler to identify vertices that would become "soft" before exporting the model. Other properties of the spring system (mass, wind, etc) could be controlled from code. Something to…
Here is an embarrassing picture of me in a bunny costume. [smile]
Oh and if any of you are brave enough to try my scripting language, then you can do so by visiting my site. First one to break it gets a free bunny costume. It's my first attempt at doing anything like it so feel free to offer your ad…
Oh and if any of you are brave enough to try my scripting language, then you can do so by visiting my site. First one to break it gets a free bunny costume. It's my first attempt at doing anything like it so feel free to offer your ad…
One way to use globals...
I inserted syntax to add and initialize global variables. These globals are only initialized the first time the script is executed or when the reset_globals; keyword is called. In this way data can be shared over a series of script executions. I decided to test out some of …
I inserted syntax to add and initialize global variables. These globals are only initialized the first time the script is executed or when the reset_globals; keyword is called. In this way data can be shared over a series of script executions. I decided to test out some of …
Floating lists...
The float type is now in my little scripting language. Also I have added support for float arrays. The arrays in my language are currently one dimensional. I think this is no good and will attempt to add either a matrix type or support for multidimensional arrays in a future versio…
The float type is now in my little scripting language. Also I have added support for float arrays. The arrays in my language are currently one dimensional. I think this is no good and will attempt to add either a matrix type or support for multidimensional arrays in a future versio…
I have a headache...
I am now calling my scripting language A2 ("A squared") after my city. It now supports integer arrays which can be used in the following ways:
int x[expression;]; // Creates an integer array of size determined by expression.
int x[expression;] = {expression; ...}; // Creates an ar…
I am now calling my scripting language A2 ("A squared") after my city. It now supports integer arrays which can be used in the following ways:
int x[expression;]; // Creates an integer array of size determined by expression.
int x[expression;] = {expression; ...}; // Creates an ar…
The implementation I discussed in my previous entry is fully operational. Thanks to you who replied to my last post. Your helpful feedback is always appreciated.
How it all panned out...
A C function we will bind to the SL (Scripting Language) will take the form:
C_To_Magus_Return Function_Name ( Magu…
How it all panned out...
A C function we will bind to the SL (Scripting Language) will take the form:
C_To_Magus_Return Function_Name ( Magu…
Initial thoughts...
To bind a C function to the scripting language we must first define what each C function must look like. We we'll need a way to access parameter data sent by the scripting language - let's just call it an SL from now on. Also we'll need a way to return a value to the SL from the …
To bind a C function to the scripting language we must first define what each C function must look like. We we'll need a way to access parameter data sent by the scripting language - let's just call it an SL from now on. Also we'll need a way to return a value to the SL from the …
Functions look inside to find answers...
Hey I've got functions that return values to work in my scripting language. I wrote this little test script to demonstrate how functions look and work in my language.
function int Test_Add(int a, int b)
{ return a + b;
}
function int Recursive_Test(int a)
{
…
Hey I've got functions that return values to work in my scripting language. I wrote this little test script to demonstrate how functions look and work in my language.
function int Test_Add(int a, int b)
{ return a + b;
}
function int Recursive_Test(int a)
{
…
Yep I've got the function thing almost implemented. I've added a second pre-processing step after the tokenizer to build a function table. This is used to access code blocks referenced by identifiers with parameters and return values. Anyway I haven't posted any screens in a while so I thought I'd …
Loop-d-loo...
I implemented the while loop statement today. It functions the same way as the C while statement. Again braces are required for the code block and within the code block is a temporary scope for variable declaration. I tested it with this bit of code using nested 'whiles' and an 'if' st…
I implemented the while loop statement today. It functions the same way as the C while statement. Again braces are required for the code block and within the code block is a temporary scope for variable declaration. I tested it with this bit of code using nested 'whiles' and an 'if' st…
Adding control...
I added if( boolean expression ) { code block } else { code block } control to the language today. The 'else' statement is optional of course. Next I'll add a 'while' statement and then some sort of 'for' loop similar to the C 'for' statement. I can't think of how I would add a swi…
I added if( boolean expression ) { code block } else { code block } control to the language today. The 'else' statement is optional of course. Next I'll add a 'while' statement and then some sort of 'for' loop similar to the C 'for' statement. I can't think of how I would add a swi…
Oh the misery...
For those of you who have never owned a Ford Escort then you either know better or have really good karma. I bought one as a get-a-rounder last year for 2Gs and it has been in to the shop at least 3 times. As I write the transmission fluid is pouring out of the differential axels, e…
For those of you who have never owned a Ford Escort then you either know better or have really good karma. I bought one as a get-a-rounder last year for 2Gs and it has been in to the shop at least 3 times. As I write the transmission fluid is pouring out of the differential axels, e…
Today I implemented a first version token parser. I've kept the grammar small for now and have only added support for integer variables. The main parsing function is responsible for variable management and handling keywords. The real work was in the expression function. When a possible expression i…
The dramatics...
Perhaps it is my love of grammar that has driven me to this point. Perhaps context free languages and Backus-Naur form are the only reason I continue to breathe. Perhaps it was the uranium flavored tobacco that my father used to smoke. Whatever the reason, let it be known that I hav…
Perhaps it is my love of grammar that has driven me to this point. Perhaps context free languages and Backus-Naur form are the only reason I continue to breathe. Perhaps it was the uranium flavored tobacco that my father used to smoke. Whatever the reason, let it be known that I hav…
The OpenGL itch...
So I jumped fences for a couple of days and programmed my very first OpenGL application. I built a little wrapper around a few common 3D operations (transformations, cube maps, textures, cameras, lights, shaders) and then made a demo to show what I did. The end result is an applic…
So I jumped fences for a couple of days and programmed my very first OpenGL application. I built a little wrapper around a few common 3D operations (transformations, cube maps, textures, cameras, lights, shaders) and then made a demo to show what I did. The end result is an applic…
Thanks Rob Loach!..
Rob came through with a very useful little app for taking screens. If you haven't seen it then you should check out his website. I don't have to use Irfan View for captures anymore and can take 3 types of screens with a single key press. [smile]
Animation Controls...
I have created…
Rob came through with a very useful little app for taking screens. If you haven't seen it then you should check out his website. I don't have to use Irfan View for captures anymore and can take 3 types of screens with a single key press. [smile]
Animation Controls...
I have created…
Quest for Neil domination continues...
You may or may not have noticed the name change of my journal. It's kind of lame I know, but there is a method to my badness. I declare that I Neil Kemp will be the supreme Neil Kemp in the google universe. I have neilkemp.us and I figure that if I just keep po…
You may or may not have noticed the name change of my journal. It's kind of lame I know, but there is a method to my badness. I declare that I Neil Kemp will be the supreme Neil Kemp in the google universe. I have neilkemp.us and I figure that if I just keep po…
Archive load functions for 8 or so classes...
I have added loading functions for the four texture classes, static models, animated models, shaders, materials, sounds, and MIDI. That was fun!! Now I'll be able to pack up the resources in future demos and applications. I'm glad I've decided to craft t…
I have added loading functions for the four texture classes, static models, animated models, shaders, materials, sounds, and MIDI. That was fun!! Now I'll be able to pack up the resources in future demos and applications. I'm glad I've decided to craft t…
Next the world...
Something wonderful happened a few days ago and I'd like to share it. My son Brandon made his first program using C++. I started showing him how to use cin and cout which lead to a discussion about if-then-elses. I gave him a short example and left him alone to play for about a hal…
Something wonderful happened a few days ago and I'd like to share it. My son Brandon made his first program using C++. I started showing him how to use cin and cout which lead to a discussion about if-then-elses. I gave him a short example and left him alone to play for about a hal…
I just got the Forest Troll fully rigged. I also made some progress with the archive GUI tool.
The Jointed Monster...
I've been rigging joints to each of the troll's vertices for the last week. It took me a while to get the skeleton into a shape that I was happy with. In order for the creature to sho…
The Jointed Monster...
I've been rigging joints to each of the troll's vertices for the last week. It took me a while to get the skeleton into a shape that I was happy with. In order for the creature to sho…
After a great Memorial Day weekend I got back to work on my archival system.
What I did...
First I spent some time restructuring all of my library projects and files (needed to be done). Next I implemented a fast key encryption algorithm using a random byte cipher. It'll be good enough. It can be bro…
What I did...
First I spent some time restructuring all of my library projects and files (needed to be done). Next I implemented a fast key encryption algorithm using a random byte cipher. It'll be good enough. It can be bro…
Thanks to jollyjeffers I've managed to increase my path search speed to O(xlogn). He mentioned in my previous posting that a friend of his had implemented an archive with a binary search tree O(logn) in the header for fast file access. This would be especially necessary as the archive grew in size.…
I spent a lot of time today developing a directory structure for the ResoPack library. I decided to use a tree structure since that will allow an unlimited amount of folders within a ResoPack. Each folder (node) contains a list of files, a reference to its parent, a name, and a list of references t…
The sound library is complete. It has support for sounds (wav, etc) using direct sound. It can also play midi files. It is made of 3 classes but will eventually consist of 4 when the mixer is implemented ( ok so it's almost done [smile] ).
Sound lib classes...
Sound lib classes...
- DESoundDevice
- Houses the performance and …
This entry is an attempt to set up a schedule for the next few moments of my life. It will also serve as a general review of what I've already done since beginning this cycle. I generally consider joining the GDNet journals, which coincided with a stable version of my dev library, to be the startin…
I've implemented the cloud, rain particles, and grass particles into the Evaluation stage of the NNAI thingy. But the real reason I'm posting is to show you my latest 3D model creation. It's a bunch of trip shrooms growing on a mycelium cake (a mixture of grain and vermiculite inoculated with spore…
This baby should be ready for play later this week. I've got the menu system in now. The main menu allows you to choose between Learning and Evaluation modes. There are 4 memory slots from which the user can choose. This allows the user to compare different agents in the evaluation mode. The traini…
Advertisement
Popular Blogs
Advertisement