feat(gx): add incomplete 'CGxDeviceGLSDL' (#2)

* chore(build): add vendored SDL 3.0.0 library

* chore(build): add vendored glew-cmake-2.2.0 library

* feat(console): in the presence of -opengl launch flag, change GxApi to OpenGl

* feat(gx): add uncompleted CGxDeviceGLSDL targeting Windows and Linux

* chore(build): change SDL3 linkage from shared (bad) to to static (good)
This commit is contained in:
phaneron 2023-11-18 10:50:16 -05:00 committed by GitHub
parent 934e0fb600
commit 706c8903a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2043 changed files with 663533 additions and 5 deletions

View file

@ -14,6 +14,10 @@
#include "gx/d3d/CGxDeviceD3d.hpp"
#endif
#if defined(WHOA_SYSTEM_LINUX) || defined(WHOA_SYSTEM_WIN)
#include "gx/glsdl/CGxDeviceGLSDL.hpp"
#endif
#if defined(WHOA_SYSTEM_MAC)
#include "gx/gll/CGxDeviceGLL.hpp"
#endif
@ -119,13 +123,13 @@ CGxDevice* CGxDevice::NewGLL() {
}
#endif
CGxDevice* CGxDevice::NewOpenGl() {
// TODO
// auto m = SMemAlloc(sizeof(CGxDeviceOpenGl), __FILE__, __LINE__, 0x0);
// return new (m) CGxDeviceOpenGl();
return nullptr;
#if defined(WHOA_SYSTEM_WIN) || defined(WHOA_SYSTEM_LINUX)
CGxDevice* CGxDevice::NewOpenGl() {
auto m = SMemAlloc(sizeof(CGxDeviceGLSDL), __FILE__, __LINE__, 0x0);
return new (m) CGxDeviceGLSDL();
}
#endif
uint32_t CGxDevice::PrimCalcCount(EGxPrim primType, uint32_t count) {
auto div = CGxDevice::s_primVtxDiv[primType];