Commit graph

30 commits

Author SHA1 Message Date
Christoph Oelckers
4e74a881b6 - update to ZDoom r 3261:
Removed unneeded includes of r_local.h.
    Removed more r_ header dependencies from the rest of the code.
    took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
    Changed AlterWeaponSprite so that it doesn't take a full vissprite as parameter.
    FCoverageBuffer is only used in r_things.cpp, so its declaration does not need to be in a global header that's included everywhere.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1223 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-06 18:59:20 +00:00
Christoph Oelckers
b02a00e89c - sync with trunk r1152.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/branches/voxels@1154 b0f79afe-0144-0410-b225-9a4edf0717df
2011-01-02 22:39:30 +00:00
Christoph Oelckers
8414b8102d - GL changes for engine restart.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1131 b0f79afe-0144-0410-b225-9a4edf0717df
2010-12-15 23:16:24 +00:00
Christoph Oelckers
9c29d211d9 - The palette gets used now. It doesn't work yet with radial fog though and it's far too slow so there's still a lot to do...
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/branches/voxels@1054 b0f79afe-0144-0410-b225-9a4edf0717df
2010-10-17 10:44:48 +00:00
Christoph Oelckers
f1de8103d7 - moved GL related CVARs out of menu.cpp back into their own file.
- re-added the removal of the shader options menu for non-SM3 cards.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@959 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-15 00:30:43 +00:00
gez
7c689d9153 * FIXME: Mouse input in menu is temporarily disabled when using the OpenGL renderer because it does not work correctly at the moment.
* Fixed a crash on exit that happened with a NULL screen when quitting. May require a better fix.
* Ported OpenGL options menu to MENUDEF code. It is in a separate file from the ZDoom menu code, menudef.z, in the same way that the GZDoom-specific actor definitions are in decorate.z instead of decorate.txt.
* Updated to ZDoom r2771:
- Relaxed conditions for shortening the sliders so that they remain at full size at 800x600.
- Deleted empty old files.
- Merged menu branch back into trunk.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@952 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-14 19:32:57 +00:00
Christoph Oelckers
4b5e3350df - implemented textured automap display in GL renderer.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@912 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-27 22:26:15 +00:00
gez
e4c10363f7 * Added NicePath to the Unix version of CreateCacheName, to hopefully solve a problem there.
* Added Tom Seddon's patch for multiple monitor support on OpenGL:
- Moved vid_adapter CVAR into common code, since more than D3D queries it now
- Made DumpAdapters a virtual function in IVideo (base class implementation just prints "Unsupported" to the console), and moved vid_listadapters into common code since it isn't doing anything renderer-specific any more.
- OpenGL code internals maintain HMONITOR and/or device name (initialised from the CVAR) so that it can pick the monitor to use when going full screen and querying available resolutions.
- Slight tweaks to the going-into-full-screen code to stop the full screen window being put in the wrong place.
- Changed the ModeInfo selection procedure slightly, which as I recall was the fix for the problems I mentioned with letterbox modes in a window
- Fixed really evil bug where going into full screen mode would sometimes crash because the DEVMODE struct wasn't being set up just so.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@872 b0f79afe-0144-0410-b225-9a4edf0717df
2010-08-09 09:43:22 +00:00
Christoph Oelckers
296975afeb - fixed: The precaching of skybox faces did not work.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@861 b0f79afe-0144-0410-b225-9a4edf0717df
2010-07-29 12:44:36 +00:00
Christoph Oelckers
1a5d3f7f18 - fixed: There was an erroneous brightmap definition for Heretic's PLAYF5 sprite.
- fixed: Portal obstruction detection did not properly discard the backside of the portal shape when chacking if a line is in front of the portal.
- fixed: The GL portal data needs to be reinitialized after loading a savegame.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@715 b0f79afe-0144-0410-b225-9a4edf0717df
2010-01-16 06:51:55 +00:00
Christoph Oelckers
c3da1a887f - Added Hexen Flechette pitch fix.
- Added new SetGlobalFogParameters action special to modify the global fog settings at run time:
  SetGlobalFogParameters(FOGP_DENSITY, value);
  SetGlobalFogParameters(FOGP_OUTSIDEDENSITY, value);
  SetGlobalFogParameters(FOGP_SKYFOG, value);

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@687 b0f79afe-0144-0410-b225-9a4edf0717df
2009-12-29 23:20:51 +00:00
Christoph Oelckers
eca37ef3ec - fixed: The GL renderer didn't advertise its hardware rendering capabilities for some checks.
- fixed: The closed subsector check was outside the loop it was supposed to be in.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@660 b0f79afe-0144-0410-b225-9a4edf0717df
2009-12-15 20:27:57 +00:00
Christoph Oelckers
1170dc1d1f - added a bench CCMD so performance testing can be done without screenshots.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@609 b0f79afe-0144-0410-b225-9a4edf0717df
2009-11-05 08:04:08 +00:00
Christoph Oelckers
66fda6fb09 - fixed: The texture matrix was updated for each plane, not just when it was needed.
- disabled use of vertex buffer on ATI cards. Test results show that mixing VBO and
  immediate mode does not work well on ATI.
- Moved a few GL settings into the render state so that they can be set only when
  changed.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@601 b0f79afe-0144-0410-b225-9a4edf0717df
2009-11-03 21:32:27 +00:00
Christoph Oelckers
b65d715799 - added external declaration for vid_vsync to gl_framebuffer.cpp.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@599 b0f79afe-0144-0410-b225-9a4edf0717df
2009-11-02 07:53:09 +00:00
Christoph Oelckers
6920948453 - fixed: The VSync setting was not applied after creating the screen buffer.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@596 b0f79afe-0144-0410-b225-9a4edf0717df
2009-11-01 14:31:19 +00:00
Christoph Oelckers
2d9f6feff7 Update to ZDoom r 1957:
- Changed all coordinates for DrawTexture() to floating point so that the
  player sprites will retain the same precision they had when they were
  rendered as part of the 3D view. (needed for propery alignment of flashes
  on top of weapon sprites) It worked just fine for D3D, but software
  rendering was another matter. I consequently did battle with imprecisions
  in the whole masked texture drawing routines that had previously been
  partially masked by only drawing on whole pixel boundaries. Particularly,
  the tops of posts are calculated by multiplying by spryscale, and the
  texture mapping coordinates are calculated by multiplying by dc_iscale
  (where dc_iscale = 1 / spryscale). Since these are both 16.16 fixed point
  values, there is a significant variance. For best results, the drawing
  routines should only use one of these values, but that would mean
  introducing division into the inner loop. If the division removed the
  necessity for the fudge code in R_DrawMaskedColumn(), would it be worth it?
  Or would the divide be slower than the fudging? Or would I be better off
  doing it like Build and using transparent pixel checks instead, not
  bothering with skipping transparent areas? For now, I chop off the
  fractional part of the top coordinate for software drawing, since it was
  the easiest thing to do (even if it wasn't the most correct thing to do).


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@594 b0f79afe-0144-0410-b225-9a4edf0717df
2009-11-01 07:23:43 +00:00
Christoph Oelckers
3fc269fcb6 - disabled VBO updating for some older ATI cards. They seem to have problems with how it is done.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@593 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-31 22:55:36 +00:00
Christoph Oelckers
b8133792c0 - Found out that just omitting the glFinish call is not working glitch-free. I reorganized the code so that the
glFinish/SwapBuffers call is delayed until the latest possible moment which is after scene processing for the
  next frame is complete and right before actual rendering starts. This does not show any obvious problems but 
  it still gives almost the same performance gains as omitting glFinish.



git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@591 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-31 09:10:29 +00:00
Christoph Oelckers
b5252bcb6b - disabled VBO when GL_ARB_map_buffer_range not present.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@587 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-30 22:44:31 +00:00
Christoph Oelckers
93f3e279e1 - removed glFinish call from OpenGLFrameBuffer::Update. This caused the CPU to wait for
all graphics to be rendered which isn't necessary. Instead we can let the GPU run in
  parallel to the next frame's setup and increase performance this way.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@585 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-30 11:13:29 +00:00
Christoph Oelckers
0a8ac6a153 - added: DECORATE now allows definitions of dynamic light attachments per state.
These are fully inheritable by subclasses unlike lights defined in GLDEFS.
  The light itself still needs to defined the old way in GLDEFS though. It's only the 
  attachment that can now be done in DECORATE.

Update to ZDoom r1935:

- Removed the Actor uservar array and replaced it with user-defined variables.
  A_SetUserVar/SetUserVariable/GetUserVariable now take a variable name
  instead of an array index. A_SetUserArray/SetUserArray/GetUserArray
  have been added to access elements in user-defined arrays.
- Rewrote wide sky texture scaling again. This time, it should work for any
  size textures at any scale. I also tried doing sky scrolling on the sky
  cylinder, but that didn't look so good, so I left it in screen space.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@577 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-25 15:31:09 +00:00
Christoph Oelckers
5225cd0660 - fixed: When merging planes for sector stacks the code must check for Transfer_Heights.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@565 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-19 20:15:13 +00:00
Christoph Oelckers
f565104c72 - moved fog state into render state class and optimized parameter passing for shader based fog.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@524 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-05 10:30:19 +00:00
Christoph Oelckers
1eed9eaf8c - more work on new dynamic light code. Split light buffer into a light and index buffer to reduce data site.
- Fixed: gl_lights_size was used twice in the size calculation of dynamic lights.
- deleted GlobalDrawInfo. It may as well be taken from the DrawInfo stack like everything else.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@506 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-01 20:58:30 +00:00
Christoph Oelckers
c44d7b3fb0 - all done. Now please someone fix the Linux version...? ;)
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@494 b0f79afe-0144-0410-b225-9a4edf0717df
2009-09-25 23:09:24 +00:00
Christoph Oelckers
e6e6a4a1f2 - prevent-SVN-from-screwing-up commit. This will not compile!
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@492 b0f79afe-0144-0410-b225-9a4edf0717df
2009-09-25 21:57:47 +00:00
Christoph Oelckers
7dd74619e7 ....
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@491 b0f79afe-0144-0410-b225-9a4edf0717df
2009-09-25 21:22:45 +00:00
Christoph Oelckers
2e45aa8d26 - grouped all external entry points of the GL renderer in gl_functions.h so that non-GL files don't need to include anything else.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@489 b0f79afe-0144-0410-b225-9a4edf0717df
2009-09-25 20:42:15 +00:00
Christoph Oelckers
c8d1b4ce47 - getting closer...
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@487 b0f79afe-0144-0410-b225-9a4edf0717df
2009-09-25 18:10:15 +00:00
Renamed from src/gl/gl_framebuffer.cpp (Browse further)