QWADRO

QWADRO é um middleware para rápido desenvolvimento de aplicações interativas 2D, 3D e 4D, que integra tecnologia de engenharia de síntese de imagem e renderização de gráficos (inclusive DAG), bem como mixagem de som e renderização de acústica. Ainda elementarmente conta com detecção e resolução de colisão, e simulação de física em tempo real.

Basicamente, QWADRO é uma junta de middlewares baseadas em outras do mercado, para desenvolvimento de simulação virtualizada de realidade tridimensional.

QWADRO foi projetado para ser um pseudo-equivalente à “plataforma RenderWare”, a qual, inclusive, serve de base para o desenvolvimento deste.

QWADRO é projetado para ser utilizável para a maior parte possível de pessoas, mesmo aquelas que nunca estiveram no ramo da programação. Assim sendo, QWADRO é escrito em ortodoxo C.

Apesar de ser inicialmente projetado para ser tão próximo possível da plataforma RenderWare, QWADRO é composto de escolhas e tecnologias baseadas em vários outros middlewares, dos quais dentre estes estão:

  • RenderWare Graphics 2, 3 e 4, RenderWare Audio, RenderWare Physics (e Karma Physics);
  • Havok Physics, Havok Vision/Graphics , Havok Ai, Havok Destruction;
  • Ogre3D 1 e 2;
  • Unity3D 4 e 5;
  • Unreal Engine 2, 3, e 4;
  • Gamebryo Element e LightSpeed (e “Rockstar Leeds” Engine);
  • GoldSource e Source Engine;
  • idTech 3 e 4;
  • Bang! Engine;
  • Granny3D 2;
  • Bink Video;
  • RoQ Video;
  • Miles Sound System 7;
  • FMOD e FMODEx Sound System;
  • Diesel Power;
  • OpenAL e EAX;
  • Bullet Physics;
  • Open Dynamics Engine;

Acredite, eu estudo tudo isso para resolver questões simples. É um inferno, mas é gratificante. Até dá erro.

Fundação

A biblioteca de fundação do sistema integrado do QWADRO provem recursos e funcionalidades básicas de entrada, saída, operação em arquivos e sistema de arquivos, operação com fluxo de dados, gestão de memória, estendimento dinâmico de tipos, gestão de HIDs, dentre outras mais.

Renderização de gráficos

A biblioteca de síntese de imagem e renderização de gráficos do QWADRO é fortemente baseada na arquitetura do RenderWare Graphics 3, não tanto, mas também, em várias outras como do Vision Engine.

A biblioteca de gráficos do QWADRO tem seus recursos identificados pelo prefixo “qwg”.

Esta biblioteca também é intercalável entre tecnologias de renderização, assim sendo, é dividida em dois módulos principais, sendo estes:

  • e2coree, o núcleo integrado ao sistema;
  • e2d3d9, o subsistema de renderização via Direct3D 9;
  • e2d3d10, o subsistema de renderização via Direct3D 10;
  • e2d3d11, o subsistema de renderização via Direct3D 11;
  • e2d3d12, o subsistema de renderização via Direct3D 12;
  • e2gles2, o subsistema de renderização via OpenGL ES 2;
  • e2gles3, o subsistema de renderização via OpenGL ES 3;
  • e2vulkan, o subsistema de renderização via Vulkan (vulgo OpenGL Next).
  • [outros], possivelmente haverá outros recursos de terceiros.

Renderização de acústica

A biblioteca de mixagem de som e renderização de acústica do QWADRO é fortemente baseada na arquitetura do Miles Sound System 7, não tanto, mas também, em várias outras como do FMOD e OpenAL.

A biblioteca de renderização de acústica do QWADRO tem seus recursos identificados pelo prefixo “qws”.

Esta biblioteca também é intercalável entre tecnologias de renderização e middlewares, mas ainda apenas há três implementações, sendo os módulos destas:

  • e2coree, o núcleo integrado ao sistema;
  • e2sound, uma atrocidade em que eu estava trabalhando em mais uma oportunidade de procrastinar.
  • e2al2, o subsistema de renderização via OpenAL 2.
  • e2miles, o subsistema de renderização via Miles.
  • [outros], possivelmente haverá outros recursos de terceiros.

Simulação de física

A biblioteca de detecção e resolução de colisão, e simulação de física newtoniana, é cuspida uma cópia da Havok Physics, a qual inclusive, opera por trás da cena. Sim, é basicamente uma sobrecamada.

A biblioteca de simulação de física do QWADRO tem seus recursos identificados pelo prefixo “qwp”.

Esta biblioteca pode devir intercalável no futuro, mas não estou disposto a fazer isso. E seus únicos módulos são:

  • e2coree, o núcleo integrado ao sistema;
  • e2havok, o subsistema de detecção de colisão e simulação de física newtoniana.
  • [outros], possivelmente haverá outros recursos de terceiros.

Apesar de ser um grande fã e apoiador da comunidade open-source freeware e Bullet Physics ser tendencioso, Havok Physics apresenta certas vantagens que ainda não estou disposto a medir com Bullet.

Outros

Há mais bibliotecas de menor relevância (ao menos por hora) que devem ser listadas também, as quais são:

  • e2coree, o núcleo integrado ao sistema;
  • e2bink, o serviço de reprodução de vídeo Bink;
  • e2dduc, o subsistema de integração ao Discord. Este subsistema é reponsável por vários recursos que terão maior relevância futuramente. Isso está MUITO mais além do Rich Presence.

Há muito mais que eu ainda não estabilizei então não posso dar uma posicionamento.

Leave a Reply