Commit graph

145 commits

Author SHA1 Message Date
def 0bac9f0de8 Manual preparation for cleaner clang-format
Also include what you use explicitly
2020-09-26 21:41:01 +02:00
Jupeyy 84cad658d6 Add new renderer(as streamed vertices) for editor 2020-09-23 16:45:32 +02:00
Jupeyy 2a713ebe2c Don't allow malloc on empty images 2020-09-15 22:23:36 +02:00
Jupeyy 3eea399d37 Rename quality texture and compressed texture, because they should not be used 2020-09-14 21:34:56 +02:00
heinrich5991 ffab6292ad
Merge branch 'master' into pr-start 2020-09-11 14:25:50 +02:00
heinrich5991 aa46ca6bf9 Fix some style issues via scripts/fix_style.py, size_t 2020-09-11 00:47:38 +02:00
Jupeyy b83d8735fe Create entity textures seperately 2020-09-11 00:34:42 +02:00
def 2cdc7d0faf Adapt 0.7 start menu
- Working Local Server button (needs fixing for Windows)
- Highlight buttons if server is running, new news is out and editor has
  unsaved changes
2020-09-10 20:13:01 +02:00
def ffa955096f Add localization for texture warning, improve wording (fixes #2688) 2020-08-31 13:07:57 +02:00
Jupeyy b1e98b598b Show warnings with non divisible by 16 textures(3D/2D array textures) 2020-08-29 17:04:30 +02:00
Jupeyy 3117a936a9 Do not create 2D textures, if not required 2020-08-23 08:53:26 +02:00
Jupeyy a07e9ac2cf Add OpenGL 1.x, 2.x, 3.x support (fixes #2619) (fixes #2607) 2020-08-22 10:22:51 +02:00
Jupeyy 7450e354de Add OpenGL 4.x support & cleanup 2020-08-19 08:42:09 +02:00
Jupeyy c2ce132ba3 Allow specifying an OpenGL version manually 2020-08-19 07:04:54 +02:00
def 83c820db09 Fix some naming conventions in videorecorder 2020-06-23 08:00:03 +02:00
def 47e6c7cce2 Only forbid resizing when videorecorder is recording 2020-06-19 08:19:40 +02:00
Learath 388d792205 Add an option for highdpi 2020-04-07 23:47:15 +03:00
def 54ae929b2f Disallow resizing windows when videorecorder is compiled in 2020-01-03 21:40:41 +01:00
ChillerDragon 928e5407eb Style 'void foo() {' -> 'void foo()\n{' 2019-12-21 14:35:09 +01:00
Magnus Auvinen 6a6a5f00c9 more typesafty in the graphics. introduced the IGraphics::CTextureHandle
Edited by @ChillerDragon to fit in ddnet
(cherry picked from commit cb95e8dfe8)
2019-11-22 18:08:37 +01:00
Learath 6c371a9a57 Even more refactoring 2019-04-27 01:11:15 +03:00
Dennis Felsing cde07b420b Implement changes suggested by -Wuseless-cast
But don't enable it yet because I'm not sure what the best way is.
2019-04-11 19:54:43 +02:00
ChillerDragon abba71e6d6 Fix tw code style 2019-04-06 17:06:12 +02:00
jupeyy 28ba295792 Don't use compression for text rendering 2019-01-20 14:28:59 +01:00
Jupeyy bc013513bc don't restore the config variable in this case 2018-08-02 20:56:29 +02:00
Jupeyy d7bb03ee19 don't render all border all the time 2018-08-02 18:26:12 +02:00
bors[bot] 73a65a7026 Merge #1116
1116: Don't send buffer cmds to non OpenGL 3.3 backend r=def- a=Jupeyy



Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2018-04-15 18:00:54 +00:00
Jupeyy 27d9440751 don't create buffers, if OpenGL 3.3 is not used 2018-04-15 19:34:56 +02:00
heinrich5991 f8277267a0 Remove mem_alloc and mem_free, use standard C functions instead
Replace `mem_free` by `free`, and `mem_alloc` by `malloc` or `calloc`
(the latter one being used to allocate a zeroed array of elements,
sometimes, this makes a call to `mem_zero` superfluous).

This results in having to remove `mem_stats` which previously recorded
the number of allocations and their size that the Teeworlds code did
directly.

Remove OOM handling in `src/game/client/components/binds.cpp`.

Remove needless copying in the CSV code in
`src/game/client/components/statboard.cpp`.
2018-04-09 11:56:39 +02:00
Jupeyy 15f0efc2bd fix text color if opengl3.3 is off 2018-04-03 17:40:21 +02:00
Jupeyy 53a93c077e add window resize listener 2018-03-21 15:48:48 +01:00
Jupeyy 898af39311 add new functions to support the new backend layout and the new
rendering system
2018-03-13 21:47:07 +01:00
bors[bot] c0fa444f3a Merge #1034
1034: Try to find external GLEW, pnglite and Wavpack  r=Learath2 a=heinrich5991

Allow for newer versions of Wavpack, fixes #1023.

Fixes #1016.
2018-02-13 02:02:07 +00:00
heinrich5991 94818ec1f0 Try to find external GLEW, pnglite and Wavpack
Allow for newer versions of Wavpack, fixes #1023.

Fixes #1016.
2018-02-12 23:29:45 +01:00
yangfl 1620fc9b0f Fix typo 2018-02-07 16:10:40 +08:00
Jupeyy 060f6fd36e Load shaders through IStorage class
Fixes #939.
2017-12-02 22:19:57 +01:00
Jupeyy 37c5102928 only delete VBOs when the VAO, which uses the VBO, is deleted(AMD driver
bug under windows). And only allow true fullscreen under supported
display resolutions, to enable prevention of DPI scaled opengl viewport
2017-10-23 18:02:18 +02:00
def cb00a294b8 Enable gfx_opengl3 by default 2017-10-20 22:52:38 +02:00
Jupeyy cc54c4acdf also out the LOD to the fragment shader to make sure we use the same LOD
on every hardware
2017-10-14 23:27:14 +02:00
Jupeyy 5389dd9666 fix border amount for right and bottom border lines 2017-10-14 16:37:48 +02:00
Jupeyy 26bd800d63 calculate the LOD on CPU side and restrict mipmap levels for huge
textures to remove bad looking mipmap generations at high zoom levels
2017-10-09 18:58:44 +02:00
Jupeyy 463944b143 fix code pattern mistakes and warnings 2017-09-27 14:52:06 +02:00
Jupeyy 91216fb90c reduce upload size by normalizing color values, fix slow upload for some
iGPUs and force old opengl context, if issueinit fails
2017-09-27 12:16:34 +02:00
Jupeyy 26607cfd47 at texture upload, check if we have enough space in the command buffer
too
2017-09-15 03:50:06 +02:00
Jupeyy 31844d3353 set max width for custom text texture upload and fixing alignments for
texture updates
2017-09-15 03:01:26 +02:00
Jupeyy 1167ab822c reduce upload since of vertices if drawing quads 2017-09-14 02:50:31 +02:00
Jupeyy 5c7c09d380 fixing most wrong code pattern 2017-09-13 20:33:58 +02:00
Jupeyy a477540358 add new commands to buffer objects and draw them 2017-09-12 20:08:45 +02:00
def 7c6c2f5d9b Fix graphics init to be later so that user resolution is available 2017-08-31 23:42:21 +02:00
def 66f6f16e81 Windows DPI fixes #2 2017-07-09 09:44:07 +02:00
def 4125941896 Disable dbg_stress in release builds (fewer confused kids that think they hacked the server, less useless code in cache) 2017-06-02 20:45:09 +02:00
necropotame b8e4e5beea Fix style in several places 2017-03-22 19:45:14 +01:00
def 9bd30ce447 Make high-dpi screen support optional 2016-05-07 17:47:05 +02:00
def f79bdf69a5 typo 2016-04-30 22:55:21 +02:00
def 644fec7e55 Resize window without restarting client 2016-04-30 17:59:58 +02:00
def 7a5b79e48a More SDL2 graphics goodness, partially from TW master 2016-04-30 00:43:11 +02:00
def 354696afb7 switch between fullscreen and windowed mode without restarting the client (by oy) 2016-04-29 21:56:38 +02:00
def ff2a7272fa Improved window grabbing: only when relative mouse mode is active 2016-04-29 21:56:38 +02:00
def db8a126315 Merge swick's SDL2 branch 2016-04-29 21:55:48 +02:00
def 6e8ada1ac8 Fix whitespaces a bit 2015-07-09 02:12:35 +02:00
def 3c496c62e1 Rename gfx_quads_as_triangles to gfx_quad_as_triangle and set default to 1 2015-03-31 16:41:51 +02:00
BeaR 2d3202862b Change the way quads are split into triangle splits (conform with intel/nvidia drivers) 2015-03-31 16:18:49 +02:00
BeaR 462d88eac4 Reduce amount of drawcalls when using triangles instead of quads 2015-03-31 13:35:18 +02:00
BeaR 2f837a4c44 Notify player on chat highlight (windows only) 2014-10-18 16:17:36 +02:00
def 2db9e5c7b0 Hopefully fix screenshots 2014-03-29 17:04:06 +01:00
def 9728245ac6 Bigger buffer to allow more than 1500 skins for Broken (does not seem to impact performance) 2014-02-18 23:53:46 +01:00
def e074c52d4b Crude way of preventing crashes with editor undo 2014-01-26 21:50:30 +01:00
def d092b8007d Add editor undo function (by MAP94) 2014-01-19 04:02:01 +01:00
def e88e0698c7 Name stuff 2014-01-03 03:06:23 +01:00
oy 0e92dd5603 fixed some merge problems 2013-02-24 18:55:55 +01:00
oy 73386fdf0f fixed last commit 2013-02-24 18:29:41 +01:00
BeaR 68390fe04a Bug: Losing render-commands if commandbuffer is full(gfx)
Problem:
If there is a new draw call, it is checked if there is enough free memory for the vertices in the databuffer but not if we have enough free space in the commandbuffer to add the command
So we lose some commands during a frame cuz the commandbuffer is full

This fixes the 2nd part of issue 1004
2013-02-24 18:29:27 +01:00
BeaR d58afefaae Some graphic batching:
Speed up for displaying debugtext and envelopepreview
(This reduces the performance hit especially for the 'Show Info' mode in the editor)

Conflicts:

	src/engine/client/client.cpp
	src/game/editor/editor.cpp
	src/game/editor/editor.h
2013-02-24 18:23:06 +01:00
oy df5ab998c2 readded texture resampling 2013-02-24 18:08:10 +01:00
oy 71af97a5e3 fixed texture memory usage calculation in graphics threaded
Conflicts:

	src/engine/client/graphics_threaded.cpp
2013-02-24 18:07:35 +01:00
BeaR 1cfbfda6fa Missed a file.. 2013-02-24 18:02:09 +01:00
heinrich5991 7b545f3ed9 Added borderless window functionality
This might become handy for users with multiple monitors,
	might resolve other issues aswell
2013-02-24 17:38:19 +01:00
oy 2a4af1573b auto adjust the screen resolution on first start. Closes #921 2013-02-24 17:25:55 +01:00
oy 38256d0d45 skip screenshot when window isn't active. Closes #931 2013-02-24 17:25:14 +01:00
oy 0c05b3bfa1 fixed compiling with vs2008 (#932) 2012-02-05 13:22:39 +01:00
oy be37147342 fixed border rendering in the editor's image preview. Closes #908 2012-01-08 01:47:53 +01:00
oy 71dd0c5aab made gfx_finish work again 2012-01-06 14:12:49 +01:00
Magnus Auvinen 2991f4071e fixed kicking of command buffer if it's full when rendering. fixed compile error on windows 2012-01-03 22:01:37 +01:00
Magnus Auvinen 50d872531a cleaned up the code. fixed so that SDL is inited on main thread and then transfers the gl context to the render thread 2012-01-03 21:39:10 +01:00
Magnus Auvinen c31c82a584 added support for video modes 2012-01-01 14:30:45 +01:00
Magnus Auvinen d7fe3ddaab fixed shutdown and screenshot functionallity 2012-01-01 14:15:35 +01:00
Magnus Auvinen c1942ca6cb fixed the render frame time and cleaned up some more code 2012-01-01 13:38:46 +01:00
Magnus Auvinen 8b76105cfa cleaned up some of the code 2011-12-31 14:00:49 +01:00
Magnus Auvinen 6e57620c2c added flags for mipmap generation on textures. fixes missing texts 2011-12-31 11:18:55 +01:00
Magnus Auvinen b31abc4053 fixed so that you can select graphics backend via gfx_threaded 2011-12-31 10:29:25 +01:00
Magnus Auvinen 7a36a103ae fixed so that the rendering can be done async from the input, network and update 2011-12-31 10:04:46 +01:00
Magnus Auvinen 8a91bfa1dd fixed texture upload support. removed raw gl calls from the text render 2011-12-31 09:40:11 +01:00
Magnus Auvinen 50e75da333 fixed so that the resolusion is set correctly on init 2011-12-31 01:23:04 +01:00
Magnus Auvinen 09b785a290 splitted out the graphics threaded into a separate header 2011-12-31 01:11:24 +01:00
Magnus Auvinen 8e56885795 initial commit of the threaded graphics. can start game and render the gui. no textures at the moment. still waits for the swap for now 2011-12-31 01:06:04 +01:00