Zack Middleton
dd73e19546
Improve warning for too many skin surfaces
2017-07-04 15:36:26 -05: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
4dffc52c1d
Add warnings for animMap and videoMap shader keywords
2017-07-02 17:00:07 -05:00
Zack Middleton
5aa7fb39c2
OpenGL2: Remove two unused cvars and update readme
2017-07-02 16:47:55 -05:00
Zack Middleton
e77153766a
OpenGL2: Draw sun shadows for first person IQM player models
...
This makes IQM have the same behavior as MD3 and MDR.
2017-06-30 14:07:26 -05:00
Zack Middleton
102c79eb49
OpenGL2: Fix black planar projection shadows (cg_shadows 3)
...
Restore MD3 code for cg_shadows 2 and 3 like other model formats.
Fix planar projection shadow deform (cg_shadows 3) to use correct
light direction. I fixed light direction for stencil shadows
(cg_shadows 2) but it's still broken.
2017-06-30 14:06:13 -05:00
Zack Middleton
09a23e0417
OpenGL2: Fix checking r_shadowCascadeZFar pointer instead of value
2017-06-29 21:36:04 -05:00
SmileTheory
e03cdf444c
OpenGL2: Remove SF_VAO_MESH.
2017-06-16 16:52:53 -07:00
Zack Middleton
66fec1b059
Remove unneeded code from OpenGL2's RB_RenderDrawSurfList
...
Make it more similar to OpenGL1.
2017-06-03 14:03:09 -05: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
468da0fabc
OpenGL2: Generate less shaders when r_sunlightMode is disabled.
...
Original patch by https://github.com/inolen in https://github.com/ioquake/ioq3/pull/36
2017-01-26 19:58:28 -08:00
SmileTheory
0238810f34
OpenGL2: Render dlights only when r_lightmap is 0.
...
https://github.com/ioquake/ioq3/issues/246
2017-01-24 20:17:06 -08:00
SmileTheory
294109628d
OpenGL2: Fix bug in generating normal maps for non-square textures.
2016-12-12 15:33:54 -08:00
SmileTheory
06b47ad2a9
GLimp_HaveExtension() -> SDL_GL_ExtensionSupported()
2016-12-10 00:35:17 -08: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
730207817e
OpenGL2: Don't bind null framebuffers when not using framebuffers.
2016-12-07 14:13:29 -08:00
SmileTheory
ab8bcf5c5b
OpenGL2: glGetIntegerv -> qglGetIntegerv
...
Thanks Cyrax for pointing this out.
2016-11-25 02:13:03 -08:00
SmileTheory
93066d2e05
OpenGL2: Don't draw viewmodels in portal views.
...
Thanks Cyrax for pointing out, should fix https://bugzilla.icculus.org/show_bug.cgi?id=6363 .
2016-11-25 01:30:21 -08:00
SmileTheory
2349ef038e
OpenGL2: Don't interleave texCoords and lightCoords in tess.
2016-11-25 01:17:46 -08:00
SmileTheory
f7711a8119
OpenGL2: Add more ambient to lightmapped materials.
2016-10-27 02:12:32 -07:00
SmileTheory
8955752457
OpenGL2: Prioritize loading .png images over all others besides .dds.
2016-10-27 02:11:29 -07:00
SmileTheory
ffcec94f50
OpenGL2: Load images with "_nh" suffix as parallax normalmaps.
2016-10-27 02:10:40 -07:00
SmileTheory
89701a1a45
OpenGL2: Faster mipmap generation.
2016-10-21 19:48:02 -07: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
863adfcfc2
OpenGL2: Fix fog color.
2016-10-12 23:17:19 -07:00
SmileTheory
ad819edcc4
OpenGL2: Workaround for multiple deforms on MD3 mesh.
...
https://github.com/ioquake/ioq3/issues/122
2016-10-11 04:18:41 -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
1cfa16674c
OpenGL2: Some tr_image refactoring/cleanup.
2016-09-22 23:04:13 -07:00
SmileTheory
8417c184b4
OpenGL2: Clamp entity lighting to more resemble OpenGL1.
2016-09-14 04:19:46 -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
Tim Angus
bd062f713a
Merge pull request #216 from tkoeppe/abs
...
[renderergl2/tr_main.c] Use floating-point fabsf() for floating-point values
2016-09-13 10:34:48 +01:00
SmileTheory
bbc9e263f0
OpenGL2: Fix more reversed VectorCopy4() usage.
2016-09-13 01:41:46 -07:00
SmileTheory
ec3779988c
OpenGL2: Fix reversed VectorCopy4() usage.
2016-09-11 16:08:18 -07:00
SmileTheory
497a74f22a
Fix undefined behavior when shifting left by 32.
...
https://bugzilla.icculus.org/show_bug.cgi?id=6432
2016-09-07 16:56:23 -07:00
SmileTheory
927c9cc23c
OpenGL2: Make R_FreeSurfaceGridMeshData() static.
2016-09-07 14:59:19 -07:00
SmileTheory
f9e5712311
OpenGL2: Fix missing bounds calculation when loading BSP surfaces.
2016-09-06 19:44:14 -07:00
SmileTheory
dfbaf50324
OpenGL2: Store normals/tangents as int16_t[4].
2016-09-06 00:57:15 -07:00
Thomas Köppe
0eb72cd8c4
[renderergl2/tr_main.c] Use floating-point fabsf() for floating-point values
2016-09-01 17:29:32 +01:00
SmileTheory
4ce600f5ac
Missing bit of previous commit.
2016-08-14 22:33:48 -07:00
SmileTheory
fe8ac838e2
OpenGL2: Preallocate grid surfaces like other BSP surfaces.
2016-08-14 22:22:20 -07:00
SmileTheory
5252e28163
OpenGL2: Fix shader error logs.
2016-08-04 20:16:22 -07:00
SmileTheory
29ac117154
OpenGL2: Let unlit materials use parallax maps.
2016-07-29 01:53:50 -07:00
SmileTheory
e022abeebb
OpenGL2: Fix GL_EXT_direct_state_access function names.
2016-07-28 20:04:25 -07:00
SmileTheory
716438168f
OpenGL2: Use loader for all extension funcs.
2016-07-26 00:41:31 -07:00
SmileTheory
f0086e8c2a
OpenGL2: Add new GL function loader.
2016-07-25 06:30:25 -07:00
SmileTheory
251c983681
OpenGL2: Require OpenGL 2.0.
2016-07-24 21:29:13 -07:00
Zack Middleton
0334f4a59b
OpenGL2: Remove duplicate textureFloat = qfalse
...
glRefConfig.textureFloat is set to qfalse near wrong extension and then
farther down by the correct extension. Removing this has no effect.
2016-06-15 13:58:26 -05:00
Zack Middleton
420bd09164
OpenGL2: Remove loading (unused) glDrawBuffersARB
2016-06-15 13:58:26 -05:00
Victor Roemer
398dea397c
Fix Makefile for OSX
...
Bump base SDK from 10.5 -> 10.7
Just use the builtin __APPLE__
2016-06-12 17:17:33 -04:00
SmileTheory
a40588c8b9
OpenGL2: Set cubemap mip selection to match output from ggxcc.
2016-06-08 03:36:15 -07:00
SmileTheory
6394180224
OpenGL2: Speed up surface merging.
2016-05-18 21:12:34 -07:00
Zack Middleton
2dcc5719e3
Explicitly set cull type for skybox
...
Explicitly set cull type for skybox to front, instead of using whatever
cull type the previous shader used (which could result in the skybox
not being visible due to only drawing back faces). The sky cloud stages
set the cull type so they are not affected by previous cull type.
2016-05-16 03:17:03 -05:00
Zack Middleton
acd659b05a
OpenGL2: Fix specularScale override not being used in RB_IterateStagesGeneric
2016-05-09 10:47:34 -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
60f56670d6
OpenGL2: Render metals as nonmetal on cubemaps, and some ComputeShaderColors cleanup.
2016-04-05 02:21:14 -07:00
SmileTheory
ee7fdef87f
OpenGL2: Improve cubemap outside error.
2016-03-28 22:26:19 -07:00
SmileTheory
f911e32bb0
OpenGL2: Fix horribly broken metallic shader.
2016-03-15 05:20:25 -07:00
SmileTheory
eb7408ddac
OpenGL2: Fix r_lightmap.
2016-03-14 06:45:51 -07:00
SmileTheory
93e1feaaad
OpenGL2: More ssao/depth blur improvements.
2016-03-11 04:37:50 -08:00
SmileTheory
87cb2167bf
OpenGL2: Fixes to depth blur and ssao.
2016-03-10 03:44:21 -08:00
SmileTheory
934014e237
OpenGL2: Create FBOs if target image exists, not cvar settings.
2016-03-09 18:03:23 -08:00
SmileTheory
65b999446d
OpenGL2: Speedup for SSAO & blur shaders, fix sunlight normals in lightall.
2016-03-08 18:30:51 -08: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
a331637745
OpenGL2: Shader optimization, and add dither to tonemap.
2016-02-17 20:06:18 -08:00
SmileTheory
d11cfc88d5
OpenGL2: Fix some GL errors and no sun shadows on older OpenGLs.
2016-02-17 19:49:21 -08:00
SmileTheory
0f6f2be155
OpenGL2: Typos.
2016-02-12 18:34:31 -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
2b2f1aeaa1
OpenGL2: Load existing per-map cubemaps.
2016-01-28 16:39:42 -08:00
SmileTheory
558da25277
OpenGL2: Some FBO related cleanup/fixes.
2016-01-21 22:31:41 -08:00
SmileTheory
28ff383061
OpenGL2: Direct state access, part 3: Framebuffers.
2016-01-20 06:32:50 -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
63e45fab9a
OpenGL2: Remove specular ambient.
2016-01-15 02:46:30 -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
06feb6115b
OpenGL2: Support picmip for DDS textures.
2015-12-21 20:24:19 -08:00
SmileTheory
f78d04eba8
OpenGL2: Add null dereference checks to DDS loader.
2015-12-18 19:42:15 -08:00
SmileTheory
f965f3c66e
OpenGL2: DDS (compressed textures) support.
2015-12-18 06:53:20 -08:00
SmileTheory
336419235a
OpenGL2: Some tr_image.c cleanup.
2015-12-16 07:12:30 -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
c07cc282d0
OpenGL2: Use correct sunlight color for sunlight specular.
2015-12-09 05:25:58 -08:00
SmileTheory
08ecc3a80a
OpenGL2: Forgot a multiply.
2015-12-09 03:42:12 -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
SmileTheory
2954bdfa65
OpenGL2: automatically load textures with a _s suffix as specular.
2015-12-02 17:08:40 -08:00
Zack Middleton
41f83ac8b0
Replace 4 with sizeof( int ) in R_GetCommandBufferReserved
2015-10-17 21:58:11 -05:00
Zack Middleton
81e2b6c0cf
Fix reserved size for swap buffer command being too small on x86_64
2015-10-16 20:50:25 -05:00
Zack Middleton
e6209f3b7c
Fix crash from reading past end of tr.refdef.drawSurfs
...
The number of draw surfaces was range checked against number of surfaces for
the current view but needs to check total for the frame otherwise can read
past the end of the tr.refdef.drawSurfs array when there are multiple views.
2015-10-16 20:21:15 -05:00
Zack Middleton
8531162bd9
Fix not swapping buffers because out of cmd buffer space
...
Reserve space for end of list and swap buffer commands. These are absolutely
required and cannot be dropped. Dropping swap buffer command causes screen
to not update and possible crash from drawsurf buffer overflow if not enough
cmd buffer space for many continous frames.
2015-10-16 19:38:49 -05:00
Zack Middleton
7f4b34bf09
Remove unused define MAC_EVENT_PUMP_MSEC
2015-10-04 17:20:56 -05:00
Zack Middleton
a5fbc1bfc4
Fix alloc size for default skin and single shader skin
...
Found by Coverity.
2015-07-12 20:41:47 -05:00
Zack Middleton
4473924636
Remove logically dead code in R_CheckFBO
...
Found by Coverity.
2015-07-12 20:35:22 -05:00