Welcome, Guest. Please login or register.

Author Topic: AmiDARK Engine - Alpha R2 uploaded on os4depot  (Read 1597 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline AmiDARKTopic starter

AmiDARK Engine - Alpha R2 uploaded on os4depot
« on: August 22, 2010, 09:11:18 PM »
Hi All,
I have uploaded this night a new alpha version of the AmiDARK Engine.
The GDK now contain more than 380 commands/functions to help in video game development on our Amiga running under Amiga OS 4.1
You can find it in the uploads folder of os4depot and soonly in the same place than the previous release :
http://www.os4depot.net/?function=showfile&file=development/language/amidarkengine.lha
The main improvements from the 1st alpha release, are in the 3D engine, lights and camera. There are more control and accuracy on these 3 commands sets and now loaded 3D objects handle their own textures. Of course, actually only internal .ADEO 3D object is supported but, soon, more will follow.
Feel free to test the 4 small demos and to modify them and recompile as your wants.
EDITO 2010.08.20 13:16 [France]
1. Website www.amidark-engine updated
2. I have updated the list of changes/improvements of R2 :
ENGINE :
- Reorganised source codes in /shared/ and in subfolders.
- Added support for CreateDeleteString() system similar to DarkBASIC PRo & DarkGDK.
- Added separate debug mode to display only information from the plugin to debug.
- Added internal functions for bits manipulations.
- Added timer.device to handle frame rate and soonly animations.
- Added support for window close caption.
BASIC2D:
- Added DBProEx( Left, Top, Right, Bottom, Color1, Color2, Color3, Color4 ) function.
BASIC3D:
- Internal object structure changed.
- Loaded 3D Objects automatically load internal textures and applies them to limbs.
- Loaded 3D Objects that have internal textures, also delete them when object is deleted.
- fixed texture issue with loaded object.
- fixed applying world matrix changed to limb using limb hierarchy.
- Support for DETextureObject on loaded objects.
- Improved texture support to apply textures params. only if texture is used.
- WIP : Adding MESH dependencies to handle correct position/rotation within the 3D object.
- Added Basic 3D MESHES functions.
- 3D Object support rebuilded to handle limbs.
- Fixed texture issue with skysphere objects.
- Now Disable global lighting on a 3D object that is not sensitive to lights.
- Changes how textures are applied on a 3D Object to be the same than DarkBASIC Professional.
- Added command : DEScrollObjectTexture( ObjectID, U.f, V.f )
- Added command : DEScaleObjectTexture( ObjectID, XScale.f, YScale;f )  
- Added support for bilinear/trilinear/no filtering on 3D objects.
- Added support for extra propoerties ( fog, light, ambient 3D objects sensitivity )
- Added support for object Ambience, Specular, Diffuse and Emissive properties functions.
- Added support for Ghost Object functions ( On/Off Ex with support for dark ghost mode too )
- Added support for ScaleObject() function
- Added support for transparency using BLENDING command set : Set Alpha Mapping On.
- Added support for 3D Objects instancies.
- Fixed Objects rotation to be the same than Default DarkBASIC Professional ones.
- Support for Objects Texturing, Lighting ( Light 0 ), Normals.
CAMERA:
- Added several camera functions.
- Added DESyncMask() function for camera enabling/disabling.
- Added functions DESyncOn(), DESyncOff(), DESyncRate( RATE );
- Fx Camera clear (glClear) to clear only the camera display area on screen.
- Added DEScreenFPS() and DEStatistics() functions.
- Fix camera backdrop to not clear Basic2D draws.
- Updated camera rotations calculations to be the same than DarkBASIC Professional.
- Updated camera movements calculations to be the same than DarkBASIC Professional.
- Added support for camera backdrop color.
CORE:
- Added function to read free memories.
- Added various internal & user Core command set functions.
FILE:
- Added support for FILES command set ( OpenToRead, OpenToWrite, Close, MakeMemblockFromfile)
IMAGE:
- Adding some IMAGES command set
- Added internal functions to separate Image to internal images.
- Handle internal images in load/delete image functions.
- Added support for internal images in Basic 3D objects render.
- Added DrawToFront & DrawToBack function to change priority between 2D and 3D drawing.
INPUT:
- Added functions to enable/disable escape key use to quit an AmiDARK Engine application.
- Improving DBKeyState() function.
- Improving internal MiniGL MyKeyboardFunc() function.
- Added support for various keyboard functions (scancode, keystate, special keys : up, down, left, right, function keys F1 to F12
LIGHTS:
- Adding Ambient light support
- Added DEShowLight() DEHideLight() functions.
- Improved light support.
- Improved Light 0 to fit default DarkBASIC Professional settings.
- Added move camera functions.
MEMBLOCK
- Adding some MEMBLOCK command set
SETUP
- Added support for switching from windowed to fullscreen and reverse.

Kindest Regards,
AmiDARK
 

Offline AmiDARKTopic starter

Re: AmiDARK Engine - Alpha R2 uploaded on os4depot
« Reply #1 on: August 23, 2010, 10:41:15 PM »
Here is a small demo (not optimised) developed using AmiDARK Engine Alpha R2.
It show the use of :
1. 3D Models
2. 3D Model as skybox
3. Ambien light
3. Camera controls
Here is a small shot :

 
And the link to DL the demo :
http://files.amidark-engine.com/AlphaR2_Demos/Model&Skybox.lha
Source code to create this piece of 3D is not too long :
 
#include "libAmiDARK.h"
 
  float YAngle = 0.0f;
  float XAngle = 0.0f;
  float CamXPos, CamYPos, CamZPos;
 
void DarkLoop( void ){
  // Create display.
  DESetDisplayMode( 640, 480, 32 );
  DESetWindowOff();
  DESyncOn();
  DESyncRate( 0 );
 
  // Load the skybox and setup its display properties
  DELoadObject( "Models/Skybox.adeo", 2 );
  DEScaleObject( 2, 10000, 10000, 10000 );
  // DeSetObjectEx4( Object, WireFrame, Transparent, Cull, Filter, Light, Fog, Ambient )
  DESetObjectEx4( 2, 0, 0, 0, 1, 0, 0, 0 );
   
  // Load the jet 3D model and setup its display properties
  DELoadObject( "Models/Jet.adeo", 1 );
  DEScaleObject( 1, 100000, 100000, 100000 );
  DESetObjectEx4( 1, 0, 0, 0, 1, 1, 1, 1 );
   
  // Create ambient light 0 for global lighting effects.
  DESetAmbient( 75 );
  DEColorLightEx( 0, 255, 224, 64 );
  DESetAmbientColor( DERgb( 64, 32, 8 ) );
  DESetDirectionalLight( 0, 1.0, -0.5, 1.0 );
 
  // Position the default camera to see the jet model and the skybox
  DEPositionCameraEx( 0, 0, 0, -512 );
  DERotateCameraEx( 0, 0, 0, 0 );
  DESetCameraRangeEx( 0, 1.0, 8192 );
 
  // Apply some fog effects for better environment rendering.
  DEFogColorEx( 192, 160, 32 );
  DEFogDistance( 8000 );
  DEFogStart( 500 );
  DEFogDensity( 1 );
  DEFogON();
 
  // Run the demo and rotate the jet model.
  while( !DELoop() ){
    YAngle = DEWrapValue( YAngle + 0.25 );
    XAngle = DEWrapValue( XAngle + 0.125 );
    CamXPos = DECos( YAngle ) * 160;
    CamYPos = DESin( XAngle ) * 128;
    CamZPos = DESin( YAngle ) * 160;
    DEPositionCamera( CamXPos, CamYPos, CamZPos );
    DEPointCamera( 0.0, 0.0, 0.0 );
    DESync();
   }
 }
 
Regards,
Freddix aka AmiDARK
« Last Edit: August 23, 2010, 10:44:24 PM by AmiDARK »
 

Offline odin

  • Colonization had Galleons
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 6796
    • Show only replies by odin
Re: AmiDARK Engine - Alpha R2 uploaded on os4depot
« Reply #2 on: August 23, 2010, 11:19:19 PM »
Interesting. Is this based on an open-source 3D engine?

Offline AmiDARKTopic starter

Re: AmiDARK Engine - Alpha R2 uploaded on os4depot
« Reply #3 on: August 23, 2010, 11:20:45 PM »
No.
It is based on MiniGL.
And the engine command set is based on DarkGDK/DarkBASIC Professional languages on PC computer.
and source code is private.
Product will probably be shareware when finished.
 
Kindest Regards,
AmiDARK