Paul Chote
62fa3b7c9c
Rename SpriteFrameType enums.
2020-12-25 18:51:25 +01:00
Paul Chote
ce09b402d0
Fix definition and use of non-indexed sprite color channels.
...
Our SpriteFrameType names refer to the byte channel order rather than
the bit order, meaning that SpriteFrameType.BGRA corresponds to the
standard Color.ToArgb() etc byte order when the (little-endian) integer
is read as 4 individual bytes.
The previous code did not account for the fact that non-indexed Png
uses big-endian storage for its RGBA colours, and that SheetBuilder
had the color channels incorrectly swapped to match and cancel this out.
New SpriteFrameType enums are introduced to distinguish between BGRA
(little-endian) and RGBA (big-endian) formats, and also for 24bit data
without alpha. The channel swizzling / alpha creation is now handled
when copying into the texture atlas, removing the need for non-png
ISpriteLoader implementations to allocate an additional temporary array
and reorder the channels during load.
2020-12-25 18:51:25 +01:00
Paul Chote
597b8b1caa
Hide legacy GL support behind a feature flag.
2020-10-12 12:24:22 +02:00
teinarss
9c4fd0e3d3
Use Null-Propagation Operator
2020-08-19 18:11:07 +01:00
Paul Chote
839be24053
Replace PreferGLES settings flag with GLProfile enum.
2020-04-25 21:03:43 +02:00
abcdefg30
3ba86f329f
Remove Game.HasInputFocus
2020-04-17 22:26:03 -05:00
Martin Bertsche
98aef70e88
Added display selection option to settings for fullscreen modes.
2020-02-08 18:14:35 +00:00
Paul Chote
9a0916afbb
Add UI Scale dropdown to the settings menu.
2020-02-04 19:56:15 +01:00
Paul Chote
6388a6bff4
Add Graphics.UIScale setting to modify UI size.
2020-02-04 19:56:15 +01:00
Paul Chote
fd64ad7c89
Support rendering at non-integer display scales:
...
* 2x and 3x DPI artwork can be specified using
Image2x and Image3x in chrome.yaml.
* Images are rendered using bilinear interpolation.
* For non-integer screen scales, prefer downscaling
the next biggest resolution image over upscaling.
2020-01-26 20:22:49 +01:00
Paul Chote
1bc6fb0f46
Use antialiasing filter when rendering UI icons and actors.
2020-01-26 20:22:49 +01:00
abcdefg30
23b3c237b7
Update the year numbers in all license headers to 2020
2020-01-05 17:00:34 +00:00
Paul Chote
656a260171
Add VSync setting.
2019-12-26 17:25:38 +01:00
Paul Chote
860117daf9
Implement optimized pixel-art antialiasing mode for non-integer world zoom.
2019-12-13 21:29:43 +01:00
Paul Chote
8c41e6a3f7
Remove redundant zoom parameter.
2019-12-08 04:36:31 +01:00
Paul Chote
327866ffc3
Render world via an intermediate FrameBuffer.
2019-12-08 04:36:31 +01:00
Paul Chote
e7de7b4c05
Introduce World and UI rendering phases.
2019-12-08 04:36:31 +01:00
Paul Chote
1d106e71c4
Save screenshots via the frame buffer.
2019-09-04 20:20:04 +02:00
Paul Chote
c0ee346c1c
Render via an intermediate frame buffer.
2019-09-04 20:20:04 +02:00
teinarss
9982b01642
Get the Ascender value from mod.yaml instead from the Font
2019-06-21 12:51:45 +02:00
Paul Chote
dabc7ec8dd
Remove unnecessary this. references.
2019-06-08 13:19:27 +02:00
Paul Chote
1d4576229a
Move FreeType handling into the Platform dll.
2019-03-14 16:39:26 +01:00
Paul Chote
ab4a7e3558
Replace System.Drawing primitives with our own.
2019-03-04 18:26:42 +00:00
Paul Chote
015316e909
Remove uses of state-mutating Rectangle.Offset and Intersect.
2019-03-04 18:26:42 +00:00
abcdefg30
cadbd0d9ab
Change the year number in all cs headers from 2018 to 2019
2019-01-26 23:15:21 +01:00
RoosterDragon
bb536ee4fc
Run graphics rendering on a dedicated thread.
...
The main game thread can offload some of the CPU cost to the rendering thread, freeing up its time to run more logic and render ticks.
2018-06-22 18:40:16 +01:00
Paul Chote
9ff177359b
Split IGraphicsContext from IPlatformWindow.
2018-06-13 18:45:21 +01:00
Paul Chote
ab14a86d39
Rename Renderer.Device to Renderer.Window.
2018-06-13 18:45:21 +01:00
Paul Chote
28c8089bc7
Rename IGraphicsDevice to IPlatformWindow.
2018-06-13 18:45:21 +01:00
Paul Chote
2f2a7724d5
Rename shp.(frag|vert) to combined.(frag|vert).
2018-06-04 23:33:57 +02:00
Paul Chote
131496ebf8
Merge RGBA sprite rendering into SpriteRenderer.
...
Renderer.RgbaSpriteRenderer is kept as a thin
wrapper to maintain compatibility with consumer
code.
2018-06-04 23:33:57 +02:00
Paul Chote
6c338eb06c
Revert "Run graphics rendering on a dedicated thread."
...
This reverts commit b9be52c5428d4a3862d62fe3a2c01663bd3692c3.
2018-06-04 23:04:35 +02:00
RoosterDragon
b96e062a0d
Run graphics rendering on a dedicated thread.
...
The main game thread can offload some of the CPU cost to the rendering thread, freeing up its time to run more logic and render ticks.
2018-05-29 23:05:39 +01:00
RoosterDragon
90981e5bda
Avoid redundant property reads in Renderer.SetViewportParams
2018-05-29 23:05:39 +01:00
Paul Chote
a329711011
Render lines using SpriteRenderer without breaking the batch.
2018-05-23 23:28:22 +02:00
Arular101
8a60918841
Update copyright notice year to 2018
2018-01-17 00:47:34 +01:00
RoosterDragon
a71a5cc71d
Reduce the size of the sheets created for fonts.
...
- A 512x512 sheet is about half full after precaching and some usage, but uses 16x less memory than the default 2048x2048 sheet. This saving occurs twice as we maintain a managed buffer for this sheet.
- Only precache smaller fonts, as the larger fonts are less used and take up more space than is worthwhile.
- Only precache in white, as red is largely unused.
2017-11-19 12:40:04 +00:00
Paul Chote
dc4c3fd546
Rename VoxelRenderer to ModelRenderer.
2017-06-14 18:56:06 +02:00
Paul Chote
3f9062692b
Add window scale to sysinfo.
2017-02-11 19:36:14 +00:00
Paul Chote
5e7c816257
Add support for font scaling.
2017-01-21 10:59:59 +00:00
Paul Chote
6599aeb035
Add support for retina displays on OSX.
2017-01-21 10:59:59 +00:00
Taryn Hill
43317e0f5d
Update copyright notice year to 2017
2016-12-31 23:46:13 -06:00
Paul Chote
50da18cd22
Add depth buffer support to RgbaColorRenderer.
2016-08-27 15:43:20 +01:00
Paul Chote
9437a86e7e
Remove legacy sound code and simplify platform init.
2016-08-06 19:53:50 +01:00
Paul Chote
2634643d91
Write z data to the depth buffer.
2016-04-15 09:42:29 -04:00
Paul Chote
dabea59b7d
Pass depth scale factors to vertex shaders.
2016-04-10 09:41:01 -04:00
Paul Chote
706d3ae52a
Move dedicated server code to OpenRA.Server.exe
2016-03-30 19:26:50 +01:00
Paul Chote
bc0efbefd1
Include OpenGL version string in sysinfo.
2016-03-02 21:33:12 +01:00
Paul Chote
e71225496b
Clarify GPL version.
2016-02-21 16:30:48 +00:00
Paul Chote
b396965fd9
Update licence header year.
2016-02-21 16:27:31 +00:00