1
0
Fork 0
Commit graph

60 commits

Author SHA1 Message Date
2bb0cbaf6b source/Graphics/Graphics.cpp: implement getDriver() 2023-02-18 13:10:43 +01:00
a024e7015d Whitespace fixes. 2023-02-18 13:06:02 +01:00
07f32ee129 include/Spectre/Graphics.h: Adding getDisplay() 2023-02-18 13:05:07 +01:00
9b683e9a5c source/Graphics/Graphics.cpp: should delete m_gfxdrv in destructor. 2022-10-08 16:49:04 +02:00
82343f0835 source/Graphics/Image.cpp: minor style fix. 2022-10-03 22:11:26 +02:00
81f3e1e399 Graphics: Remove Shader and ShaderProgram classes. they are combined into GfxDriver/ShaderProgram. 2022-09-18 13:56:37 +02:00
82e08d0785 Graphics/DefaultRenderer2D: use GfxDriver/ShaderProgram instead of Graphics/ShaderProgram 2022-09-18 13:55:43 +02:00
9bea188686 Graphics/BatchRenderer2D: use GfxDriver/ShaderProgram instead of Graphics/ShaderProgram 2022-09-18 13:54:32 +02:00
cc1f287a3a source/Graphics/RenderState.cpp: Use GfxDriver/ShaderProgram instead of Graphics/ShaderProgram. 2022-09-18 13:53:48 +02:00
4dad1a5d75 Graphics class: use GfxDriver API. 2022-09-17 12:07:28 +02:00
ea91d50a84 source/Graphics/OpenGL.cpp: minor fix. no need to set window decoration (default is fine) 2020-12-09 02:46:55 +01:00
c731cda1a2 Spectre/Graphics/PixelFormat: Rework
source/Graphics/Image/IcoFormat.cpp: use new PixelFormat.
source/Graphics/Image.cpp: update to confirm with new PixelFormat
Spectre/Graphics/PixelFormat: add PF_getNumChannels()
Spectre/Graphics/PixelFormat: Rework the enum with proper naming convention and documentation.
2020-11-03 14:23:38 +01:00
5d391ef70c source/Graphics/Texture.cpp: minor fix. 2020-10-23 11:11:41 +02:00
acf96a0971 source/Graphics/ImageLoader.cpp: load .ico files. 2020-10-23 11:11:41 +02:00
37d495fca3 Adding source/Graphics/Image/IcoFormat 2020-10-23 11:11:41 +02:00
b78531a570 Adding source/Graphics/Image/Format/ico.h 2020-10-23 11:09:30 +02:00
02912b857b source/Graphics/Image.cpp: in setPixels() do proper conversion. 2020-10-22 16:53:20 +02:00
f7fcc2633c Graphics/Image: dont store PixelFormat, instead define a new enum for number of channels.
The image class has a strict internal representation so we dont need "format".
PixelFormat enum can be passed to functions that modify the pixel data (like setPixels()) so that a proper convertion can be done.
2020-10-22 13:06:19 +02:00
f86a1ae90c Merge branch 'maint-platform' into dev 2020-09-24 17:17:12 +02:00
d58c49421e source/Graphics/OpenGL.cpp: in init() return false if display fails to be created. 2020-09-23 12:41:22 +02:00
afc1491718 Merge branch '6-abstract-filesystem' into dev 2020-09-17 09:50:06 +02:00
9e581ef859
source/Graphics/ImageLoader.h: remove unimplemented methods. 2020-01-19 22:01:26 +01:00
8a3b5a17d8
Graphics/ImageLoader: move decode() to loadFromMemory() 2020-01-19 22:00:56 +01:00
1a43bcd77a
source/Graphics/ImageLoader.cpp: use the new File API 2020-01-19 21:43:07 +01:00
59a4f1347a
source/Graphics/Shader.cpp: use the new File API 2020-01-19 21:43:07 +01:00
1a218532c0
source/System/File.cpp: move path stuff to Path.cpp 2020-01-10 00:45:11 +01:00
093149e72c
FontEngine/FreeType: move libWrapper to its own compile unit. 2020-01-06 00:38:06 +01:00
f72178ffd0
FontEngine: remove hinting (exists in FontDescripion class) and let child classes handle it. 2020-01-06 00:25:01 +01:00
6e14209aae
Font: add FontDescription class. 2020-01-06 00:18:07 +01:00
2dd1187ff2
Font: move Glyph to it's own header. 2020-01-05 23:40:25 +01:00
5c4eea4ae1
Font: rename Driver stuff to Engine and move subdirectory 2020-01-05 23:31:45 +01:00
2a111a237d
Move OpenGL headers from API to implementation.
We don't want to expose any OpenGL functions to client code. Because if we do, there is a chance we break client code if we switch implementation (Direct3D).
2020-01-03 20:30:08 +01:00
4df668e68f
Minor formating fixes. 2019-12-29 22:26:05 +01:00
f67f89715a
Adding bam build system. 2019-12-29 20:45:43 +01:00
a39069cdb9
GL/WGL: Upgrade to glad2 2019-12-24 20:29:16 +01:00
3b27db9435
include/Spectre/System/Log.h: implement a static "Log" class instead of just a function. 2019-11-10 14:56:56 +01:00
e10daeaaa6
Move everything from global namespace to "sp" namespace
When writing the X11 (linux) implementation there was a problem with X11 defining a "Display" type and we also have a Display class in the engine.

So to fix that problem and minimize the risk for running into other name conflicts. We move everything from global namespace.
2019-09-30 19:10:17 +02:00
87a59ef21f source/Graphics/Shader.cpp: minor fix. 2019-05-31 20:19:00 +02:00
f3a3a6aa4d source/Graphics: do not prefix standard c functions with "std::", also include the right files. 2019-05-31 20:14:47 +02:00
e2195c1d49 Adding GLAD files. 2018-05-14 12:01:33 +02:00
ebd598b2b0 Fixing a bunch of compiler warnings. 2018-05-12 19:31:34 +02:00
ede60da544 source/Graphics/Font/FreeTypeDriver.cpp: get rid of some compiler warnings by proper casting. 2018-05-12 19:25:57 +02:00
93f869acc6 BatchRenderer2D: OpenGL Core profile requires the use of VAO, so implement that. 2018-02-28 00:42:09 +01:00
babd741fa4 source/Graphics/Transformable.cpp: scale() should invalidate the transform. 2018-02-27 21:25:32 +01:00
ab9a7e576c BatchRenderer2D.cpp: use ICamera::getProjectionViewMatrix() 2016-06-27 15:50:36 +02:00
6db9d81f45 BatchRenderer2D.cpp: Remove unnused variable. 2016-06-27 15:48:09 +02:00
5a48f0d8ca source/Graphics/BatchRenderer2D.cpp: Sort by Z-order. 2016-06-26 17:16:04 +02:00
8ce53c41cb Renderable2D: Adding Z order variable. 2016-06-26 17:15:49 +02:00
84ffd0189e Renderer2D: reverse the relationship between Renderer2D and Renderable.
Pass Renderer2D to Renderable and have each subclass of Renderable decide what the Renderer should do (like drawText(), drawRect() etc).

This makes the Renderable more flexible. right now, each renderable has a texture, vertices and indices. but what if some renderables does not use textures? or more than one? What if some renderables are just a group of other renderables? (Scene Graph's).

If we instead just make Renderables implement render(Renderer2D& r) interface. we can make each renderable pass the data it holds to the renderer without a hard defined interface.
2016-06-18 13:26:08 +02:00
b2dbee33fb Font: moving text size from font to Text object. 2016-05-05 11:04:54 +02:00