• Tech Basic

    by Published on 16-07-2016 07:00  Number of Views: 10210 
    1. Categories:
    2. Tech Basic,
    3. Tech Intermediate
    Article Preview

    The first article in the series provided some basic motivation for usage of user defined types (UDT): their ability to encapsulate multiple fields and straightforward memory consumption tracking.


    The second part in the series will introduce you to dot notation, its benefits and pitfalls.
    ...
    by Published on 10-07-2016 19:00  Number of Views: 11494 
    1. Categories:
    2. Tech Basic

    ThinBASIC is a computer language with roots set in BASIC. The original BASIC did not ask the user to declare any type for the variables, it simply stored them as a number using 30 bits of precision.

    Many of the modern computer languages (Lua, Python, Ruby...) try to mimic this design by hiding the internal variable storage details from the programmer. This approach has the clear advantage of keeping things simple. Number is a number, text is a text. Programmer focuses on the problem instead of implementation. So far so good.

    The possible controversy of this approach starts to appear once you realize the program needs to run on physical device whose resources are limited. The mentioned approach of variable complexity hiding also poses two issues as well for people who would start with such a language as with their first programming language:

    • the correlation between program memory usage and variables is unclear
    • performance characteristics can vary surprisingly, as the language switches the backends and performs the memory reallocations

    ThinBASIC takes different route.
    ...
    by Published on 25-10-2012 12:00     Number of Views: 14649 
    1. Categories:
    2. Tech Basic

    TBGL rendering system is internally based on the OpenGL technology, therefore it shares the state machine oriented design. This means that once you set some of the states, such as drawing color, it stays enabled until you change it to something else. While this can be advantageous in some situations, in others it can cause problem, especially when trying to write modular code.

    This article describes the possible side effects of state handling and proposes new code style which should help you write modular graphic code of better quality.
    ...
    by Published on 01-11-2010 08:30  Number of Views: 17103 
    1. Categories:
    2. Tech Basic,
    3. Module

    TBGL provides the programmer with entity system, which allows definition of multiple kinds of types of entities. Sometimes we need to work with just group of entities and cast on them context specific action.

    As the scene in TBGL can be composed of completely heterogeneous elements, this can become quite complicated task. We will take advantage of the fact any entity in TBGL can hold its custom user data, defined by programmer. By marking the user data with custom signature, we can easily determine which entities have something in common.

    This article explains what data signature is, how to specify it and how to use it for comfortable handling of objects in the scene.

    ...
    by Published on 01-10-2010 07:30  Number of Views: 13906 
    1. Categories:
    2. Tech Basic,
    3. User Projects,
    4. Module
    Article Preview

    ThinBasic module for accelerated graphics, TBGL, offers multiple ways to represent the scene. The most straightforward one is often referenced as entity system.

    Entity system allows organization of various kinds of entities in scenes. Programmers can define “solid” objects using geometric primitives, m15 models or display lists and specify their relationship. This is enough for most typical applications, but what to do when the programmer want to use different kinds of objects.

    The answer is – use the function slot entity.

    ...