Renderização 3D
OpenGL 4.5 com PBR, sombras em três cascatas, céu procedural, chuva e água.

Versão 1.7.1 · MIT
Uma engine 3D em C++17 para experimentar mundos abertos, simulação de veículos e física de personagens.
01 / RUNTIME
OpenGL 4.5 com PBR, sombras em três cascatas, céu procedural, chuva e água.
Veículos com suspensão, ragdolls articulados, peças destacáveis e efeitos de impacto.
Ilha procedural com cidade, estradas, pedestres, trânsito, perseguições e lanchas.
02 / Downloads
Windows x64 ZIP · 0,64 MiB
Extraia o ZIP inteiro e abra Jogar-Distrito-07.cmd. Pressione F1 para ver os controles.
Distrito-07-Demo-1.7.1-Windows-x64.zipBaixar demo para Windows C++ SDK ZIP · 6,9 MiB
Inclui o código-fonte, as dependências e um exemplo CMake. Comece pelo arquivo 00-LEIA-ME-READ-ME.txt.
LukasX-Engine-SDK-1.7.1-Cpp.zipBaixar SDK Verificar SHA-256Ler licença MIT
A 1.7.0 continua disponível, sem alterações.
Baixar demo para Windows · 0,64 MiBBaixar SDK · 6,89 MiBVerificar SHA-256
03 / NOVIDADES
Atualização de física e jogabilidade sobre a 1.7.0. O SDK, o exemplo e a demo continuam os mesmos, com estes ajustes.
Mais torque e mais aderência nas subidas, inclusive de ré. Um carro sobreposto a uma parede ou a outro veículo é empurrado para fora, e quem fica parado com o acelerador pressionado ganha um empurrão para o lado livre.
As pessoas levam de 0,55 a 0,95 s para reagir ao carro do jogador e desviam com passo humano. Em baixa velocidade, manter o acelerador contra alguém por 0,35 s derruba a pessoa.
A direção responde mais rápido em velocidade de cidade, e o limite de curva sobe de 60% para 75% acima do que os pneus dariam. Acima de 110 km/h o comportamento é o mesmo.
25 testes automáticos passam, incluindo os novos grupos climb e runover. As medições de desempenho são da 1.7.0 e não foram repetidas. As notas completas estão em docs/RELEASE-NOTES.md, dentro do SDK.
04 / INSTALAÇÃO
O SDK é distribuído como código-fonte. No Windows x64, com CMake 3.24+ e o Visual Studio Build Tools (desenvolvimento desktop em C++ e um Windows SDK), siga estes passos.
Extraia o ZIP inteiro em um caminho curto, como C:\Dev. O código, os shaders e as dependências (GLFW, GLM e GLAD) vêm dentro dele.
Abra o x64 Native Tools Command Prompt do Visual Studio e vá até a pasta extraída.
Rode build.cmd. Depois, ctest --test-dir build --output-on-failure confere a simulação e jogar.cmd abre o Distrito 07.
O ZIP traz também README.md, docs/SDK.md e o exemplo em examples/starter. Se o build falhar logo no início, confira se o terminal é o x64 Native Tools e se o caminho da pasta é curto.
05 / EXEMPLO MÍNIMO
O SDK inclui examples/starter, um projeto CMake independente que roda a simulação sem janela e sem GPU. Ele carrega o cenário de curva, avança 240 quadros de 1/60 s (480 ticks a 120 Hz) e termina com código 0 se o carro andou mais de 20 m sem impactos.
cmake -S examples/starter -B build-starter -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release
cmake --build build-starter
ctest --test-dir build-starter --output-on-failure
build-starter\lukasx_starter.execmake_minimum_required(VERSION 3.24)
project(LukasXStarter LANGUAGES CXX)
set(LUKASX_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/../.." CACHE PATH "LukasX Engine SDK source directory")
add_subdirectory("${LUKASX_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/engine" EXCLUDE_FROM_ALL)
add_executable(lukasx_starter main.cpp)
target_link_libraries(lukasx_starter PRIVATE LukasX::Core)
enable_testing()
add_test(NAME starter_drives COMMAND lukasx_starter)
#include <lukasx/core.hpp>
#include <iostream>
int main() {
ax::Game game;
game.resetScenario(ax::Scenario::Corner);
const auto start = game.focus().p;
ax::FixedStep clock;
int ticks = 0;
for (int frame = 0; frame < 240; ++frame) {
clock.addFrame(1.0 / 60.0);
while (clock.nextTick()) {
game.tick(ax::cornerPilot(game));
++ticks;
}
}
const auto distance = glm::distance(start, game.focus().p);
const auto& vehicle = game.ecs.get<ax::Vehicle>(game.car);
std::cout << "LukasX " << LUKASX_VERSION << " | " << ticks << " ticks | "
<< distance << " m from spawn | " << vehicle.speed * 3.6f << " km/h\n";
return ticks == 480 && distance > 20.f && game.telemetry.impacts == 0 ? 0 : 1;
}
06 / CMAKE
Coloque o SDK na pasta do seu projeto (por exemplo, third_party/lukasx), adicione-o e vincule seu executável a LukasX::Core. O renderer OpenGL 4.5 é um alvo separado, LukasX::Renderer: ative LUKASX_BUILD_RENDERER antes do add_subdirectory.
# Opcional: renderer OpenGL 4.5 (defina antes do add_subdirectory)
# set(LUKASX_BUILD_RENDERER ON)
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/third_party/lukasx" "lukasx-build")
target_link_libraries(my_game PRIVATE LukasX::Core)
07 / LUKASX GAMES
Engine criada por Lucas Gabriel (LukasX Games). Código original sob licença MIT. Os avisos de GLFW, GLAD e GLM acompanham cada pacote.