https://github.com/ec-/Quake3e Skip to content Sign up * Why GitHub? Features - + Mobile - + Actions - + Codespaces - + Packages - + Security - + Code review - + Project management - + Integrations - + GitHub Sponsors - + Customer stories- * Team * Enterprise * Explore + Explore GitHub - Learn and contribute + Topics - + Collections - + Trending - + Learning Lab - + Open source guides - Connect with others + The ReadME Project - + Events - + Community forum - + GitHub Education - + GitHub Stars program - * Marketplace * Pricing Plans - + Compare plans - + Contact Sales - + Education - [ ] [search-key] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} ec- / Quake3e * Notifications * Star 327 * Fork 57 Improved Quake III Arena engine GPL-2.0 License 327 stars 57 forks Star Notifications * Code * Issues 20 * Pull requests 1 * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 1 branch 7 tags Code Clone HTTPS GitHub CLI [https://github.com/e] Use Git or checkout with SVN using the web URL. [gh repo clone ec-/Qu] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio If nothing happens, download the GitHub extension for Visual Studio and try again. Go back Latest commit @ec- ec- Vulkan: fixed some broken debug features, indentation ... 423dcf8 May 10, 2021 Vulkan: fixed some broken debug features, indentation 423dcf8 Git stats * 2,064 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows Github-Actions: enabled windows-mingw builds Apr 11, 2021 code Vulkan: fixed some broken debug features, indentation May 10, 2021 docs Updated changelog Mar 28, 2021 .gitignore Vulkan: added support for non-identity colors for multitexture-add sh... Mar 6, 2020 COPYING.txt init Dec 1, 2010 Makefile Github-Actions: enabled windows-mingw builds Apr 11, 2021 README.md Update README.md Mar 25, 2021 id-readme.txt init Dec 1, 2010 View code Quake3e Vulkan renderer OpenGL renderer OpenGL2 renderer Build Instructions windows/msvc windows/mingw linux/bsd raspberry pi os macos Contacts Links README.md Quake3e build * Discord server This is a modern Quake III Arena engine aimed to be fast, secure and compatible with all existing Q3A mods. It is based on last non-SDL source dump of ioquake3 with latest upstream fixes applied. Go to Releases section to download latest binaries for your platform or follow Build Instructions This repository does not contain any game content so in order to play you must copy the resulting binaries into your existing Quake III Arena installation Key features: * optimized OpenGL renderer * optimized Vulkan renderer * raw mouse input support, enabled automatically instead of DirectInput(\in_mouse 1) if available * unlagged mouse events processing, can be reverted by setting \ in_lagged 1 * \in_minimize - hotkey for minimize/restore main window (win32-only, direct replacement for Q3Minimizer) * \video-pipe - to use external ffmpeg binary as an encoder for better quality and smaller output files * significally reworked QVM (Quake Virtual Machine) * improved server-side DoS protection, much reduced memory usage * raised filesystem limits (up to 20,000 maps can be handled in a single directory) * reworked Zone memory allocator, no more out-of-memory errors * non-intrusive support for SDL2 backend (video, audio, input), selectable at compile time * tons of bug fixes and other improvements Vulkan renderer Based on Quake-III-Arena-Kenny-Edition with many additions: * high-quality per-pixel dynamic lighting * very fast flares (\r_flares 1) * anisotropic filtering (\r_ext_texture_filter_anisotropic) * greatly reduced API overhead (call/dispatch ratio) * flexible vertex buffer memory management to allow loading huge maps * multiple command buffers to reduce processing bottlenecks * reversed depth buffer to eliminate z-fighting on big maps * merged lightmaps (atlases) * multitexturing optimizations * static world surfaces cached in VBO (\r_vbo 1) * useful debug markers for tools like RenderDoc * fixed framebuffer corruption on some Intel iGPUs * offscreen rendering, enabled with \r_fbo 1, all following requires it enabled: * screenMap texture rendering - to create realistic environment reflections * multisample anti-aliasing (\r_ext_multisample) * supersample anti-aliasing (\r_ext_supersample) * per-window gamma-correction which is important for screen-capture tools like OBS * you can minimize game window any time during \video|\video-pipe recording * high dynamic range render targets (\r_hdr 1) to avoid color banding * bloom post-processing effect * arbitrary resolution rendering * greyscale mode In general, not counting offscreen rendering features you might expect from 10% to 200%+ FPS increase comparing to KE's original version Highly recommended to use on modern systems OpenGL renderer Based on classic OpenGL renderers from idq3/ioquake3/cnq3/openarena, features: * OpenGL 1.1 compatible, uses features from newer versions whenever available * high-quality per-pixel dynamic lighting, can be triggered by \ r_dlightMode cvar * merged lightmaps (atlases) * static world surfaces cached in VBO (\r_vbo 1) * all set of offscreen rendering features mentioned in Vulkan renderer, plus: * bloom reflection post-processing effect Performance is usually greater or equal to other opengl1 renderers OpenGL2 renderer Original ioquake3 renderer, performance is very poor on non-nvidia systems, unmaintained Build Instructions windows/msvc Install Visual Studio Community Edition 2017 or later and compile quake3e project from solution code/win32/msvc2017/quake3e.sln Copy resulting exe from code/win32/msvc2017/output directory To compile with Vulkan backend - clean solution, right click on quake3e project, find Project Dependencies and select renderervk instead of renderer --------------------------------------------------------------------- windows/mingw All build dependencies (libraries, headers) are bundled-in Build with either make ARCH=x86 or make ARCH=x86_64 commands depending on your target system, then copy resulting binaries from created build directory or use command: make install DESTDIR= --------------------------------------------------------------------- linux/bsd You may need to run the following commands to install packages (using fresh ubuntu-18.04 installation as example): * sudo apt install make gcc libcurl4-openssl-dev mesa-common-dev * sudo apt install libxxf86dga-dev libxrandr-dev libxxf86vm-dev libasound-dev * sudo apt install libsdl2-dev Build with: make Copy the resulting binaries from created build directory or use command: make install DESTDIR= --------------------------------------------------------------------- raspberry pi os Install the build dependencies: * apt install libsdl2-dev libxxf86dga-dev libcurl4-openssl-dev Build with: make Copy the resulting binaries from created build directory or use command: make install DESTDIR= --------------------------------------------------------------------- macos * install the official SDL2 framework to /Library/Frameworks * brew install molten-vk or install Vulkan SDK to use MoltenVK library Build with: make Copy the resulting binaries from created build directory --------------------------------------------------------------------- Several make options are available for linux/mingw/macos builds: BUILD_CLIENT=1 - build unified client/server executable, enabled by default BUILD_SERVER=1 - build dedicated server executable, enabled by default USE_SDL=0- use SDL2 backend for video, audio, input subsystems, disabled by default, enforced for macos USE_VULKAN=0 - link client with vulkan renderer instead of OpenGL, disabled by default, works only with single renderer builds USE_RENDERER_DLOPEN=1 - do not link single renderer into client binary, compile all renderers (ignoring USE_VULKAN setting) as dynamic libraries and allow to switch them on the fly via \ cl_renderer cvar, enabled by default USE_SYSTEM_JPEG=0 - use current system JPEG library, disabled by default Example: make BUILD_SERVER=0 USE_RENDERER_DLOPEN=0 USE_VULKAN=1 - which means do not build dedicated binary, build client with single static vulkan renderer Contacts Discord channel: https://discordapp.com/invite/X3Exs4C Links * https://bitbucket.org/CPMADevs/cnq3 * https://github.com/ioquake/ioq3 * https://github.com/kennyalive/Quake-III-Arena-Kenny-Edition * https://github.com/OpenArena/engine About Improved Quake III Arena engine Topics opengl vulkan quake3 qvm Resources Readme License GPL-2.0 License Releases 7 Latest Build Latest May 10, 2021 + 6 releases Packages 0 No packages published Contributors 14 * @ec- * @cucook * @ypsvlq * @grepwood * @ryan-sg * @Jelvan1 * @Calinou * @Newbrict * @BidyBiddle * @q3superman * @ottob + 3 contributors Languages * C 99.0% * GLSL 0.6% * Makefile 0.2% * C++ 0.1% * Objective-C 0.1% * Assembly 0.0% * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.