jp9000
30af7dc211
Optimize GL staging surface and fix mac issue
...
Staging surfaces with GL originally copied to a texture and then
downloaded that copied texture, but I realized that there was really no
real need to do that. Now instead they'll copy directly from the
texture that's given to them rather than copying to a buffer first.
Secondly, hopefully fix the mac issue where the only way to perform an
asynchronous texture download is via FBOs and glReadPixels. It's a
really dumb issue with macs and the amount of "gotchas" and non-standard
internal GL functionaly on mac is really annoying.
2014-02-14 18:13:25 -07:00
jp9000
966b943d5b
Remove majority of warnings
...
There were a *lot* of warnings, managed to remove most of them.
Also, put warning flags before C_FLAGS and CXX_FLAGS, rather than after,
as -Wall -Wextra was overwriting flags that came before it.
2014-02-14 15:13:36 -07:00
jp9000
6ffcd5e74e
Implement FBO blit texture copy
...
This trick uses FBOs to allow for copying textures without the need for
special texture copy functions.
2014-02-09 11:37:22 -07:00
Zachary Lund
74ab96a3ad
I removed GLEW, added glLoadGen (renamed to GL here), and added implementations for all platforms. Hopefully this goes better than GLAD did.
2014-01-25 22:26:43 -06:00
jp9000
156009cc0c
Fixed debug GL functions on windows (amend)
...
- Removed the dependency on windows.h for windows. I feel it's an
unnecessarily large dependency to have to add to all source files
when the only thing that's needed to make the windows version compile
the debug functions is just the __stdcall call convention keyword.
On top of increasing compile time due to the large number of headers
it includes from all the windows API headers, it also adds a lot of
potential name conflicts, as I was getting a number of name conflicts
for lots of names like near/far, which were used in old legacy 16bit
windows code.
2014-01-06 17:36:19 -07:00
Zachary Lund
8073b0ecd4
Fixed APIENTRY quirk with GLEW
2014-01-06 17:51:45 -06:00
jp9000
969a71d716
call NSOpenGLContext 'update' on opengl context on macos when resizing
2013-12-31 03:09:28 -07:00
jp9000
8298fa4dc7
With the permission of my fellow contributors, I'm switching obs-studio back to GPL v2+ to prevent issues between this project and the original OBS project, and for personal reasons to avoid legal ambiguity (not political reasons, I admittedly would prefer GPL v3+)
2013-12-02 22:24:38 -07:00
jp9000
e5c99175c5
fixed some build issues on non-windows systems
2013-11-26 23:07:27 -07:00
jp9000
72a64b3d41
added VAOs to vertex buffers (might need some future tweaking to check whether buffers are already assigned to specific attributes)
2013-11-15 06:34:05 -07:00
Palana
26397c7782
allow non-static glew include path
2013-11-14 18:29:37 +01:00
jp9000
bb329b9278
avoid using 'default' for enum switches
2013-10-24 01:29:06 -07:00
jp9000
18834c6a45
some static analysis cleanup
2013-10-17 17:21:42 -07:00
jp9000
dfa2dc6eab
fix up the rest of the GL code, add glew to project, add makefiles for opengl, fix makefiles so that it can be built with gcc, update project files to automatically output to the build directory
2013-10-16 23:31:18 -07:00
Peter SZTANOJEV
0301b24ace
modernize header guards to #pragma once
2013-10-14 13:21:15 +02:00
jp9000
9577ddcf9b
fill in the rest of the GL functions. finally
2013-10-12 20:18:05 -07:00
jp9000
e591256922
add FBOs and render target loading
2013-10-12 16:28:10 -07:00
jp9000
83ddb920a1
finish up shader/sampler/texture/buffer loading/unloading/association
2013-10-12 12:35:38 -07:00
jp9000
aeea0eadc9
added shader attributes and added vertex buffer loading
2013-10-11 20:14:26 -07:00
jp9000
3951babc93
add GL index buffers and a few tweaks to the helper functions
2013-10-11 13:00:39 -07:00
jp9000
0a4592a414
finish up GL vertex buffer code
2013-10-11 11:41:36 -07:00
jp9000
1b3b177583
add initial GL vertex buffer code
2013-10-10 23:03:42 -07:00
jp9000
e804a9043d
fix GL pixel pack and unpack stuff
2013-10-10 18:50:09 -07:00
jp9000
85e2fc6b07
add stage surfaces and texture copying
2013-10-10 17:39:56 -07:00
jp9000
c1939de49b
added z-stencil buffers to GL and made a GS_MAX_TEXTURES macro
2013-10-10 12:37:03 -07:00
jp9000
fda2ee1147
added initial GL shader code
2013-10-09 15:48:16 -07:00
jp9000
3243bfbaa3
rearrange/cleanup GL texture stuff, and fill out GL cubemap texture functions (still need FBOs)
2013-10-05 09:25:12 -07:00
jp9000
5c92f22f0d
moved some stuff around to avoid code duplication and finish up gl 2D texture code
2013-10-05 00:34:43 -07:00
jp9000
543d2481f1
move around some graphics stuff and put in copyright comments
2013-10-04 12:13:59 -07:00
jp9000
75262e6e0b
update graphics subsystem code to add mipmap support and also add initial GL texture stuff and helper functions
2013-10-04 08:55:33 -07:00
jp9000
98a74e211a
added a 'default' swap chain
2013-10-03 06:17:43 -07:00
jp9000
d36b31d58f
fix windows opengl initialization
2013-10-02 19:50:33 -07:00
jp9000
b97da19828
add GL initialization code for windows (so I can have something to test more easily with)
2013-10-02 00:59:06 -07:00
jp9000
a2dce06fa8
add initial opengl files and opengl project
2013-10-01 00:29:40 -07:00