Re: Doom 3 engine release and game code
Posted: Wed Feb 05, 2014 5:20 pm
Nice work raynor been dabbling on off with it forever but newer quite got it working correctly.
Great stuff.raynorpat wrote:Mini-bump
Got most of the BFG GLSL backend merged into standard Doom 3.
https://github.com/raynorpat/morpheus
It won't work on integrated Intel GPUs just yet, I think Intel's compatibility context is being ass, but should work once most of the deprecated calls go away and the compatibility context is migrated to a core OpenGL context.
I doubt it. Would be too much of a drastic change for now.nbohr1more wrote: Are you going to get BFG style GPU Skinning working too?
GPU mesh deforms?
It will flatout run refuse to run on anything intel-related so far. Radeons have a 50-50 chance of working. Mostly because the BFG shaders were written with the OpenGL core context in mind, not the compatibility context. Still need to finish that part up.reckless wrote: Compiles fine but crashes instantly when i load the exe ?.
reckless did raynorpat glsl backend ever work for you?reckless wrote:Not using Intel gfx i got 2 AMD R9 270X toxic and BFG runs fine on them if i rename them to something else, but maybe something snuck up.
Ill tinker a bit with it, if i get it running on those Cards ill post patches.
How does this compare to:raynorpat wrote:Mini-bump
Got most of the BFG GLSL backend merged into standard Doom 3.
https://github.com/raynorpat/morpheus
It won't work on integrated Intel GPUs just yet, I think Intel's compatibility context is being ass, but should work once most of the deprecated calls go away and the compatibility context is migrated to a core OpenGL context.
Code: Select all
/*
===========================================================================
Doom 3 GPL Source Code
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
Doom 3 Source Code is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Doom 3 Source Code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 Source Code is also subject to certain additional terms.
You should have received a copy of these additional terms immediately following
the terms and conditions of the GNU General Public License which accompanied the
Doom 3 Source Code. If not, please request a copy in writing from id Software
at the address below.
If you have questions concerning this license or the applicable additional terms,
you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120,
Rockville, Maryland 20850 USA.
===========================================================================
*/
#include "precompiled.h"
#include "win_local.h"
#include "../../renderer/tr_local.h"
void QGL_Shutdown( void )
{
common->Printf( "...shutting down QGL\n" );
if( win32.hinstOpenGL )
{
common->Printf( "...unloading OpenGL DLL\n" );
FreeLibrary( win32.hinstOpenGL );
}
win32.hinstOpenGL = 0;
}
bool QGL_Init( const char *dllname )
{
assert( win32.hinstOpenGL == 0 );
common->Printf( "...initializing QGL\n" );
common->Printf( "...calling LoadLibrary( '%s' ): ", dllname );
// check that we loaded the correct OpenGL dll.
if ( ( win32.hinstOpenGL = LoadLibrary( dllname ) ) != 0 )
{
GLenum err = glewInit();
// Check if glew has been initialized properly,
// and if not print out why.
if ( err != GLEW_NO_ERROR || err != GLEW_OK )
{
common->Printf( "GLEW failed %s!\n", glewGetErrorString( err ) );
return false;
}
common->Printf( "Using OpenGL driver %s\n", dllname );
}
common->Printf( "Status: Using GLEW %s\n", glewGetString( GLEW_VERSION ) );
return true;
}
Code: Select all
/*
==================
GLW_GetWGLExtensionsWithFakeWindow
The Devil wrote this 666
==================
*/
void GLW_CheckWGLExtensions( HDC hDC )
{
GLenum err = glewInit();
// kinda stupid that glew needs to be initialized
// for both standard gl and wgl extentions.
if( err != GLEW_NO_ERROR || err != GLEW_OK )
{
common->Printf("WGLEW failed %s!\n", glewGetErrorString(err));
}
else
{
if (wglewIsSupported("WGL_ARB_extensions_string"))
{
common->Printf("...initializing WGL_ARB_extensions_string\n");
}
else
{
common->Printf("WGL_ARB_extensions_string returned %s!\n", glewGetErrorString(err));
}
if (wglewIsSupported("WGL_EXT_swap_control"))
{
common->Printf("...initializing WGL_EXT_swap_control\n");
}
else
{
common->Printf("WGL_EXT_swap_control returned %s!\n", glewGetErrorString(err));
}
if (wglewIsSupported("WGL_ARB_pixel_format"))
{
common->Printf("...initializing WGL_ARB_pixel_format\n");
}
else
{
common->Printf("WGL_ARB_pixel_format returned %s!\n", glewGetErrorString(err));
}
if (wglewIsSupported("WGL_ARB_pbuffer"))
{
common->Printf("...initializing WGL_ARB_pbuffer\n");
}
else
{
common->Printf("WGL_ARB_pbuffer returned %s!\n", glewGetErrorString(err));
}
if (wglewIsSupported("WGL_ARB_render_texture"))
{
common->Printf("...initializing WGL_ARB_render_texture\n");
}
else
{
common->Printf("WGL_ARB_render_texture returned %s!\n", glewGetErrorString(err));
}
}
}
Thanks. Yeah, it took me 6 month or so to crack down on Flash.toneddu2000 wrote:SuperCool motorsep! I'm glad you're still working on Storm Engine 2! All the best and keep up the great work! I imagine that rebuilding Flash UI should have been a HUGE amount of work!
wow. I never imagined was so hard. I really liked the shadow projection too! Very realisticThanks. Yeah, it took me 6 month or so to crack down on Flash.