Zack Middleton
939020fb0e
Merge branch 'master' into game/eliteforce
2018-05-22 19:16:41 -05:00
SmileTheory
c0c45d325d
OpenGL2: Readd r_deluxeSpecular.
...
https://github.com/ioquake/ioq3/issues/369
2018-05-14 18:30:59 -07:00
Zack Middleton
e45538b1c5
Merge branch 'master' into game/eliteforce
...
Conflicts:
README.md
code/server/sv_client.c
2018-03-03 19:27:28 -06:00
Edward Betts
fe42b8653d
Correct spelling mistakes.
2017-11-22 01:40:20 -06:00
Zack Middleton
c9d12aa3f3
Add common OpenGL version parsing + OpenGL 3 fixes
...
- Parse OpenGL version in sdl_glimp.c to share with both renderers.
- Add GL_VERSION_ATLEAST(major, minor) macro.
- Get address of glGetStringi if using OpenGL 3.
- Fix glConfig.extensions_string when using GL3 core context in
opengl2 renderer.
- Make opengl1 renderer's gfxinfo support qglGetStringi too.
2017-10-01 23:09:20 -05:00
Zack Middleton
4837f4619e
Merge branch 'master' into game/eliteforce
...
Conflicts:
code/client/cl_main.c
code/qcommon/common.c
code/qcommon/files.c
code/qcommon/msg.c
code/qcommon/q_shared.h
code/renderercommon/tr_common.h
code/renderergl2/tr_extensions.c
code/sdl/sdl_glimp.c
2017-09-17 23:16:55 -05:00
Zack Middleton
59b1262b82
Fix floating point precision loss in renderer [part 2]
...
Fix floatTime using float precision instead of double using GCC.
Fix R_BindAnimatedImage to be in sync with function table.
Fix vertexDeform bulge, vertexDeform normals, noise wave function
at high level time.
Revert unnecessary float -> double conversions.
2017-08-03 00:14:22 -05:00
Zack Middleton
30fdd88c9f
Fix floating point precision loss in renderer [part 1]
...
Patch for https://bugzilla.icculus.org/show_bug.cgi?id=5931 by
Eugene C. from 2013 plus recent fix for tcMod rotate.
I merged the changes into the OpenGL2 renderer though the fix for
tcMod turb doesn't translate.
2017-08-02 23:44:44 -05:00
SmileTheory
d549b642bc
OpenGL2: Use an OpenGL 3.2 core context if available.
2017-07-13 12:03:10 -07:00
Zack Middleton
904bbc1a8f
Allow more than 32 surfaces in skin files
...
Models don't have a surface limit; skins shouldn't either. Some player
models require more than 32 surfaces since vanilla Quake 3 did not
enforce the limit.
Skins are now limited to 256 surfaces because having no limit would
require parsing the skin file twice. The skin surfaces are dynamically
allocated so it doesn't increase memory usage when less surfaces
are used.
2017-07-04 14:06:09 -05:00
Zack Middleton
5aa7fb39c2
OpenGL2: Remove two unused cvars and update readme
2017-07-02 16:47:55 -05:00
SmileTheory
e03cdf444c
OpenGL2: Remove SF_VAO_MESH.
2017-06-16 16:52:53 -07:00
SmileTheory
c65d2c2657
Add vao cache for static surfaces.
...
Remove support for draw range elements, multi draw arrays, world vao creation, surface merging.
2017-04-28 02:13:25 -07:00
SmileTheory
0672905ef1
OpenGL2: Detect Intel graphics and avoid/use certain operations there.
...
Also use qglCopyTextureSubImage2DEXT instead of qglCopyTextureImage2DEXT.
2016-12-07 22:30:55 -08:00
SmileTheory
2349ef038e
OpenGL2: Don't interleave texCoords and lightCoords in tess.
2016-11-25 01:17:46 -08:00
SmileTheory
ba59df8c8c
OpenGL2: Remove check for GL_ARB_texture_non_power_of_two.
...
Core in OpenGL 2.0.
2016-10-21 16:58:42 -07:00
SmileTheory
41ae7815c9
OpenGL2: Remove half float support.
...
Not enough accuracy for textures larger than 1024x1024, such as merged lightmaps.
2016-10-20 20:09:12 -07:00
SmileTheory
aa79738c50
OpenGL2: Store vertex colors and hdr lightmaps/lightgrid as RGBA16.
2016-10-11 03:28:20 -07:00
SmileTheory
239f539702
OpenGL2: Non-square merged lightmaps.
2016-10-10 03:06:03 -07:00
SmileTheory
8749d62bbd
OpenGL2: Remove per fragment tangent space calculation code.
2016-09-14 03:57:51 -07:00
SmileTheory
4faf1008a0
OpenGL2: Remove map color scaling and r_forceSunMapLightScale.
...
Also simplify overbright code in ComputeShaderColors().
2016-09-14 02:59:54 -07:00
SmileTheory
927c9cc23c
OpenGL2: Make R_FreeSurfaceGridMeshData() static.
2016-09-07 14:59:19 -07:00
SmileTheory
dfbaf50324
OpenGL2: Store normals/tangents as int16_t[4].
2016-09-06 00:57:15 -07:00
SmileTheory
fe8ac838e2
OpenGL2: Preallocate grid surfaces like other BSP surfaces.
2016-08-14 22:22:20 -07:00
SmileTheory
716438168f
OpenGL2: Use loader for all extension funcs.
2016-07-26 00:41:31 -07:00
SmileTheory
251c983681
OpenGL2: Require OpenGL 2.0.
2016-07-24 21:29:13 -07:00
Zack Middleton
69f9c7d692
Merge branch 'master' into game/eliteforce
...
Conflicts:
Makefile
code/qcommon/q_shared.h
2016-06-17 02:22:52 -05:00
SmileTheory
1f6703821f
OpenGL2: Some FBO cleanup, and add non-depth blur to blur shader.
2016-04-05 02:37:05 -07:00
SmileTheory
5738d09969
OpenGL2: Add r_glossType.
2016-03-07 03:30:16 -08:00
SmileTheory
90d6f941f8
OpenGL2: Add r_shadowBlur.
2016-03-07 02:27:03 -08:00
SmileTheory
871872689e
OpenGL2: Add named cubemaps and per-map env.json parsing.
2016-02-10 16:25:32 -08:00
SmileTheory
ad952b9537
OpenGL2: Merge several cvars into r_pbr.
...
r_glossIsRoughness, r_specularIsMetallic, r_framebufferGamma, r_tonemapGamma, r_materialGamma, r_lightGamma
2016-02-01 21:37:23 -08:00
SmileTheory
f70e9dac01
OpenGL2: Direct state access, part 2: Uniforms.
2016-01-18 23:30:36 -08:00
SmileTheory
275317fefb
OpenGL2: Direct state access, part 1: Texture binds
2016-01-18 04:46:01 -08:00
SmileTheory
e2b2437966
OpenGL2: Add r_cubemapSize.
2015-12-24 16:34:58 -08:00
SmileTheory
c3216f54d2
OpenGL2: Replace r_exportCubemaps cvar with exportCubemaps command.
2015-12-23 09:58:11 -08:00
SmileTheory
a6a6162f04
OpenGL2: Add r_exportCubemaps for saving cubemaps on map load.
2015-12-22 05:04:07 -08:00
SmileTheory
cbfc3471bc
OpenGL2: Switch to RGTC from LATC for normal maps.
...
Also added a RGTC compressor as a workaround on Intel graphics.
2015-12-15 03:23:55 -08:00
SmileTheory
f9c72eee69
OpenGL2: Parse radius entries from misc_cubemap entities.
2015-12-09 02:00:40 -08:00
SmileTheory
b52ede0445
OpenGL2: Add r_glossIsRoughness.
2015-12-08 21:23:50 -08:00
SmileTheory
92d4b20129
OpenGL2: Add option in code for alternate overbright method.
2015-12-08 05:17:05 -08:00
SmileTheory
e5aabdaff6
OpenGL2: Remove some rendering options for simplicity.
2015-12-03 02:44:33 -08:00
Zack Middleton
73de855c27
Merge branch 'master' into game/eliteforce
...
Conflicts:
code/client/cl_main.c
2015-06-24 16:48:46 -05:00
Zack Middleton
f110f668bf
Move image load function prototypes to tr_common.h
...
The functions themselves are in code/renderercommon/tr_image_*.c
2015-06-12 14:22:37 -05:00
Zack Middleton
6557800707
Merge branch 'master' into game/eliteforce
2014-12-02 17:40:09 -06:00
Zack Middleton
60d28722ef
Remove unfinished OpenGL display list code
...
It seems unlikely anyone is going to do anything with this aside from stub
it out in OpenGLES ports.
2014-11-16 14:57:13 -06:00
SmileTheory
b1821e303d
OpenGL2: remove lightmap support from generic glsl shader.
...
This path was barely used and doing this compiles fewer shaders.
2014-11-10 21:59:37 -08:00
SmileTheory
943259f6b4
OpenGL2: Support half floats for texcoords and vertex colors.
2014-11-03 19:10:35 -08:00
Zack Middleton
b7cd6b6088
Elite Force white space clean up
...
Also fixed some code to match ioq3 (a few comments, a printf, ..).
2014-10-29 10:13:12 -05:00
Zack Middleton
ccd93c127b
Port Elite Force renderer changes to OpenGL2
...
Appling the diff to renderergl2 mostly worked.
Had to change GLimp_HaveExtension to use GL_EXTENTIONS
directly because Elite Forces GL2 requires an extension that didn't fit in (the smaller than Q3)
glConfig.extensions_string.
Had to set ambientLight for RF_FULLBRIGHT, GL2 doesn't use ambientLightInt.
Made the RF_FORCE_ENT_ALPHA code change pStage->stateBits because the stateBits
are read a lot, whereas in GL1 it's done as an expression and passed to GL_State.
Copied from Spearmint.
There are a few issues; holodeck doors are missing and parts of light grid are black (???).
2014-10-29 09:00:23 -05:00