Paul Chote
4547f3c2b9
Change PaletteReference.TextureIndex to an integer.
2023-10-23 22:42:33 +03:00
Paul Chote
9a5f5f9f8f
Remove legacy OpenGL support.
2023-10-22 19:51:46 +03:00
Gustas
686040a316
Turn ModelRenderer and VoxelCache into traits
2023-09-23 19:12:51 +02:00
Gustas
26b6118f50
Extract vertex attributes
2023-09-23 16:46:45 +02:00
Gustas
0a90c2a95e
Remove Vertex from PlatformInterfaces
2023-09-23 16:46:45 +02:00
Gustas
3e6123f6f6
Add index buffer SpriteRenderer
2023-09-23 14:10:35 +02:00
Gustas
2763e1502b
Add quadIndexBuffer to Renderer
2023-09-23 14:10:35 +02:00
Gustas
9b8895df39
Add glDrawElements
2023-09-23 14:10:35 +02:00
RoosterDragon
8a285f9b19
Fix IDE0090
2023-04-08 16:51:51 +03:00
RoosterDragon
98c4eaca83
Fix IDE0032
2023-03-14 13:41:25 +02:00
abcdefg30
5bf7fe852c
Remove the copyright year numbers
2023-01-11 11:58:54 +02:00
Vapre
7005da3592
SpriteRenderer, do not copy vertex array data each flush.
2022-11-14 23:33:24 +01:00
abcdefg30
6a31b1f9f3
Update the copyright header year
2022-05-28 00:35:10 -05:00
Eduardo Cáceres
aed2b8afae
Remove unnecessarily interpolated strings
2022-05-18 11:42:36 -05:00
Eduardo Cáceres
7eb64ea6fc
Use read-only autoimplemented property when possible
2022-05-18 11:42:36 -05:00
Eduardo Cáceres
79f321cb44
.Any(), .Count() -> .Count or .Length
2022-05-18 11:42:36 -05:00
Matthias Mailänder
0e7ad43425
Remove unused parameters.
2022-04-01 23:30:26 +02:00
Paul Chote
70892a6661
Change DrawSprite calls to provide scales instead of sizes.
...
This allows us to remove a hacky workaround for calculating
depth offsets when sprites have size.Z == 0.
2021-07-25 00:32:17 +02:00
Andre Mohren
6810469634
Updated copyright years.
2021-06-29 18:33:21 -05:00
Paul Chote
c64cfea179
Allow mods to downscale framebuffer resolution for large world viewports.
2021-05-16 14:22:52 +02:00
Paul Chote
0d4b81fe6f
Set world framebuffer size based on minimum zoom.
...
This avoids reallocating buffers each time the player changes zoom level.
2021-05-16 14:22:52 +02:00
Paul Chote
0735345674
Set world framebuffer size based on minimum zoom.
...
This avoids reallocating buffers each time the player changes zoom level.
2021-05-16 14:10:32 +02:00
teinarss
10676be377
Replace F extension with string interpolation
2021-05-08 22:20:59 +02:00
abcdefg30
3276373745
Pause rendering when the window is minimized
2021-04-26 21:56:20 +01:00
teinarss
e12ff2c59d
Remove our own ReadOnlyDictionary and update usages
2021-04-03 11:33:31 +02:00
teinarss
4a1e4f3e16
Use expression body syntax
2021-03-07 13:00:52 +00:00
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