Si te
gustaría hacernos saber algo que no se encuentre en esta
página, Pregúntanos
y lo añadiremos.
DESCRIPCIÓN DE LA TDX_LIBRARY
Top
Next
La TDX_LIBRARY es un concepto, en el cual todo el SDK de Microsoft
DirectX 7.0a SDK está siendo traducido y optimizado para
su total integración con el galardonado Borland C++ Builder Rapid Application Development
Compiler (BCB), versions 1, 3, 4, 5 and 6.
La TDx_Library consiste en una serie de librerías separadas
por componentes de cada sub-seción del SDK de DirectX en
una arquitectura del tipo VCL dentro del BCB's, consiguiendo
la
total integración del poder de DirectX en el entorno rápido
de desarrollo de aplicaciones conocido como bcb, esto redunda
en
una reducción drástica de los tiempos de desarrollo
y la complejidad de los proyectos usando DirectX y BCB.
Cada librería, mapea individualmente DirectX en varias capas
básicas a bajo-nivel, simplificando y haciendo mas llevadero
el trabajo con estructuras e interfaces de DirectX. Todo resulta
mucho mas fácil usando Componentes clásicos del BCB,
con las habituales propiedades, métodos y eventos, combinándose
perfectamente con los componentes existentes en el BCB.
Hemos traducido literalmente los DirectX callbacks a eventos del
estilo de BCB, como OnDDEnumerate() y OnEnumDisplayModes().
Los Interfaces de DirectX son creados y destruidos automáticamente,
las estructuras son limpiadas automáticamente, la comprobación
de errores actua automáticamente, tambien puedes acceder
y modificar internamente los componentes para así mezclar
y ajustar con código existente de DirectX.
Te resulta imposible recordar los detalles? Pulsas F1 en el BCB
y aparecerá una ayuda emergente, personalizada en el BCB
sobre la TDx_Library.
La TDx_Library está diseñada para reducir el tiempo
de desarrollo en el BCB de cualquier programa que use DirectX.
Es un avanzado juego de herramientas que:-
- integra totalmente la potencia de DirectX 7 en el BCB
- mejora ambos, BCB y el desarrollo de aplicaciones DirectX
- reduce los tiempos totales de desarrollo usando DirectX
- reduce la complejidad total de la programación de
DirectX.
Para más información pulsa en:-
BENEFICIOS USANDO LA TDX_LIBRARY
Top
Next
Prev
Hay algunos beneficios para el usuario final de la TDx_Library,
incluyendo :-
- Desarrollo Rápido de Aplicaciones DirectX
- Multimedia Avanzada para las aplicaciones creadas con el
BCB
- Dibujado perfecto de Gráficos 2D y 3D, sonidos increíbles,
todo tipo de Dispositivos de Entrada, asi como funciones de
red para multi-jugador
Adicionalmente, este site intentará ayudarte a comprender
:-
- Como trabajar con el BCB
- Cómo funciona DirectX
- Cómo funciona la TDx_Library
- Como utilizar plenamente las capacidades de la TDx_Library
- y... cómo "transportar" código DirectX existente
a código de la TDx_Library...
... piensa...hay TONELADAS de código fuente de DirectX
disponibles en la web
... y con la TDx_Library todo es mucho mas sencillo.
Un buen comienz para entender la TDx_Library, sería documentarte
en:-
For more information, cl :-
TOTAL INTEGRACIÓN DE DIRECTX Y BCB
Top
Next
Prev
La TDx_Library comprende una total integración de DirectX
y BCB habiendo sido traducida toda la información de DirectX
en algunos componentes individuales para el BCB.
"componentes" -
objetos visuales que puedes arrastrarse y soltarse para crear
una aplicación Windows.
Los componentes están organizados en varias Librerías
de Componentes, cada una de las cuales "mapea" todas
las funcionalidades de una sub-sección completa del DirectX
SDK, como pueden ser DirectDraw, DirectSound, DirectInput, DirectPlay ó
Direct3DI.
Por Ejemplo :-
- La TDx_Draw_Library
mapea todo el sistema de DirectDraw (Gráficos en 2 Dimensiones)
- La TDx_Sound_Library
mapea todo el sistema de DirectSound (Efectos de Sonido y Grabación)
- La TDx_Input_Library
mapea todo el sistema de DirectInput (Dispositivos de Entrada)
- La TDx_Play_Library
mapea todo el sistema de DirectPlay (Networking - Redes - Multi-Player)
- La TDx_3DI_Library
mapea todo el sistema de Direct3DI (Gráficos en 3 Dimensiones)
Para una información mas detallada de como trabaja la TDx_Library,
y su total integración de DirectX con BCB
Prueba a mirar el tutorial "Como Funciona"
:
RAD DIRECTX
Top
Next
Prev
Los Componentes de la TDx_Library están disponibles para
que los programadores, visualmente, arrastren y suelten los
componentes en cualquier aplicación que requiera el uso
de DirectX.
Por ejemplo, para crear una aplicación de prueba de DirectSound,
usaremos un TFrom standard de BCB5.
entonces añadimos lo siguiente: 1 x TButton, 1 x TDx_Sound, 1
x TDx_SoundBuffer and 1 x TDSBufferDesc :-
Añadimos tambien un pequeño fragmento de código:-
// ------------------------------------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// creamos el interface al dispositivo DirectSound
por defecto
if (Dx_Sound1->Create(NULL))
{
// creamos un DirectSoundBuffer
del fichero TEST .WAV
// y almacenamos la informacion del buffer en DSBufferDesc1
if (Dx_SoundBuffer1->CreateFromFile("TEST.WAV",
DSBufferDesc1, Dx_Sound1))
{
// Hacemos que suene
el fichero .wav una vez
if (Dx_SoundBuffer1->Play(0,0))
{
// Aqui,
pondriamos cualquier cosa que quisiesemos hacer mientras el sonido
siga sonando
while (Dx_SoundBuffer1->Playing)
DoSomething();
}
// destruimos el
buffer de sonido
Dx_SoundBuffer1->Destroy();
}
// Destruimos el DirectSound interface
Dx_Sound1->Destroy();
}
}
Pulsa F9 para construir el proyecto: una aplicacion de prueba de
DirectSound reproduciendo un archivo llamado TEST.WAV
Y ya puedes ver el RAD DirectX en action.
Para más información pulsa:-
CORE FUNCTIONALITY OF THE TDX_LIBRARY
Top
Next
Prev
La TDx_Library tierne algunas características diseñadas para
hacer mucho mas fácil la programación de DirectX con el BCB,
y tambien es adecuada para programadores de BCB que deseen un
fácil acceso a algunas características avanzadas de DirectX
:-
- Literalmente lo Mapea TODO
Gráficos en 2D y 3D , Sonido en 2D y 3D, Dispositivos de Entrada
force-feedback, Soporte para internet, literalmente el SDK
DirectX 7.0a completo, está disponible en la TDx_Library.
- Arquitectura de Componentes Estilo-BCB
Puedes soltar componentes en un TForm, configurarlos usando
el BCB Object Inspector (incluidas propiedades y eventos),
añadir tu TForm personalizado del BCB Object Repository, y
para finalizar, programar una pequeña cantidad de código y
ya tienes tu aplicación funcionando (usualmente 1 linea de
código por acción).
- Mapeado de Componentes
Estructura e Interface
Todas las estructuras e interfaces de DirectX han sido convertidos
a componentes de forma que puedas utilizar los beneficios del
BCB
, cómo :-
Copiar y Pegar Componentes,
BCB Object Inspector (Inspector de Objetos),
BCB Object Repository (Repositorio de Objetos),
BCB Code Editor Highlighting (Formateador de Código fuente),
F1 Instant Help (Ayuda Inmediata con la tecla F1),
etc...etc.
Por ejemplo, la estructura DDBLTFX viene con el componente
TDDBltFX, una estructura DSBUFFERDESC viene como
un componente TDSBufferDesc,
El Interface IDirectDraw7 viene como un TDx_Draw component,
El Interface de IDirectSoundBuffer viene como un TDx_SoundBuffer
component,
etc...etc.
- Convenciones de declaración BCB-Style
El sistema de "notación húngara" que sigue DirectX
ha sido cambiado a las convenciones de nombres del Estilo-BCB,
Un ejemplo: "lpddSCaps"
pasa a ser "SCaps", esto hace que DirectX sea mucho mas fácil
de leer y entender.
- DirectX Saneado
Estructuras, miembros de las estructuras, métodos, parámetros
de los métodos y banderas (flags) que no están disponibles
actualmente en DirectX, no se visualizan, permitiendo concentrarte
en el código que realmente trabaja.
- Miembros de Estructuras Convertidos
Los tipos de miembros de las estructuras de DirectX han sido
traducidos a tipos de propiedades del estilo-BCB. Por ejemplo,
un DWORD
es ahora un dword,
un LPBOOL
es ahora un bool*, un LPRECT es ahora un TRect, etc...etc.
Miembros de estructuras que contienen DirectX flags pueden
configurarse usando el BCB
Object Inspector.
- Llamadas a Funciones Convertidas
Las Funciones de DirectX han sido traducidas a métodos del
estilo-BCB, la mayoría de funciones retorna un valor bool
que indica el éxito o frácaso de la llamada a funcion.
- Parámetros de Funciones Convertidos
Los tipos de parámetros de cada función de DirectX han sido
traducidos al estilo-BCB.
Por ejemplo,
un LPBOOL
es ahora un bool*,
un LPRECT es ahora un TRect*, etc...etc. Los Métodos tambien
han sido convertidos, asi que no es requerido el paso de parámetros
inusuales o parámetros que solo puedan ser un único valor.
- Ajuste Automático de Estructuras
Cada estructura es inicializada a 0 y el dwSize member ajustado
al sizeof() correcto de la estructura.
- Multiple Mapeadores de Estructuras
Arrays de estructuras son manejados automáticamente por cada
componente,permitiéndote así, concentrarte en rellenar las
estructuras, no manejando su alojamiento en memoria o su setup
inicial.
- Creación y Destrucción Automática del
Interface
Cada componente de Interface tiene los métodos Create() y
Destroy() los cuales automáticamente crean y destruyen la ultima
version del interface DirectX con el que estemos trabajando
. Por Ejemplo, el componente TDx_Draw tiene el método
TDx_Draw::Create() el cual crea automáticamente un LPDIRECTDRAW
y usa IDirectDraw::QueryInterface() para crear un
LPDIRECTDRAW7 internamente.
De forma parecida, el método TDx_Draw::Destroy() borra sus
propios interfaces internos.
- Create() and Destroy() Extras
Each interface component has a Created property to let you
know if the Create() worked, and OnCreate() and OnDestroy()
events
that can be used to correctly cascade object creation and destruction.
- Automatic Error Detection
All known DirectX errors are trapped and sent to bcb-style
OnError() events automatically, complete with complex error
messages.
This feature is invaluable for runtime error retrieval. The
ErrorValue property can to be used to check the last known
error
message. Additionally, all array-style structure members are
automatically checked for out-of-bounds indexing errors.
- OnError() Extras
Each component has an ErrorValue property to let you know the
last error code returned from a call to a DirectX function,
and occasionally when a value goes out of bounds.
- Automatic Callback to Event Redirection
All known 'callbacks' used by DirectX have been redirected
to an 'OnEnumXXX' event of the appropriate component. eg.
the IDirectDraw7::EnumVideoPorts()
function now automatically calls the TDx_Draw::OnEnumVideoPorts()
BCB-style event instead. No more fiddling with callbacks.
- Automated Resource Loading
Some components have extra methods to load or save bitmaps,
palettes, sounds and so on. For example, the TDx_Draw, TDx_DrawPalette
and TDx_Sound components contain methods like LoadFromFile(),
CreateFromFile(), SaveToFile() and so on that dramatically
speed
implementation.
- Integrated BCB-Style Help
An informative context sensitive help file is completely integrated
into BCB. Press F1 in BCB and the help you require is displayed.
Includes a "see-also" section which lets you navigate related
information with ease. eg. If you are looking at a method
and
want to see what uses it, press F1.
- Examples, Demos & Tutorials
We will be creating many examples, demos and
tutorials that
will enable you to learn how to use our tools quickly and
easily.
- BCB Version 1/3/4/5/6 Compatibility
All of our components are designed to function identically
in Borland C++ Builder v1, v3, v4, v5 and v6, using a single copy
of
the component source code.
WRAPPING OF DIRECTX STRUCTURES & INTERFACES
Top
Next
Prev
The wrapping of DirectX is performed on a low-level, one-to-one,
basis :-
- Each DirectX Structure has been converted into a single BCB
component, with optimizations when required :-
- Sructure maintenance has been automated
- Structure members have been translated to BCB Properties
- Structure members have been renamed to remove "Hungarian
Notation"
- Structure member Types have been translated into VCL
Property Types
- Structure member Flags have been converted into BCB TSet<>'s
- Structure member Flags have automatic text representation's
- Structures have Automated Error Checking
- Structures within Structures have been enhanced
- Additional functionality (when required) includes :-
- Multiple Structures are manage automatically by a
single BCB component
- Variable-Length Structures are managed automatically
by a single BCB component
- Each DirectX Interface has been converted into a single BCB
component, with many enhancements :-
- Interfaces to DirectX are automatically Created by the
component
- Interfaces to DirectX are automatically Destroyed by
the component
- Interface functions have been translated to BCB methods
- Interface function parameters have been renamed to remove
"Hungarian Notation"
- Interface function parameters have been translated into
VCL Parameter Types
- Interface function parameters that are redunant have
been removed
- Methods have Automated Error Checking
- Additional functionality (when required) includes :-
- Certain interfaces can be created automatically,
for example :-
- A DirectDrawSurface can be created from a .BMP
file
- A DirectSoundBuffer can be created from a .WAV
file
- Methods automatically call corresponding BCB events,
for example :-
- TDx_Draw::Create() calls TDx_Draw::OnCreate()
when it's successfully created it's internal interface.
- TDx_Draw::Destroy() calls TDx_Draw::OnDestroy()
just prior to destroying it's internal interface.
- Interface Callback Functions have been translated
into easy to use BCB Events, for example :-
- TDx_Draw::DDEnumerate() calls TDx_Draw::OnDDEnumerate()
for each device enumerated.
- TDx_Draw::EnumDisplayModes() calls TDx_Draw::OnEnumDisplayModes()
for each mode enumerated.
For more information, click :-
THE TDX_LIBRARY
Top
Prev
The table below contains details on the current status of the
TDx_Library, and links to more information :-
|