josh
|
ab4c3e322f
|
add GL.draw_rect()
|
2014-08-04 22:07:45 -04:00 |
|
josh
|
e2608b1d29
|
add GL module; move OpenGL loading from Window to GL
|
2014-08-04 14:21:10 -04:00 |
|
josh
|
f620f2b335
|
for now, always create an initial window and run Window.event_loop
|
2014-08-04 13:43:25 -04:00 |
|
josh
|
c5fb7df478
|
use glScissor() instead of glViewport() when drawing widgets
|
2014-07-29 20:29:42 -04:00 |
|
josh
|
18e195799a
|
set viewport_size on window resize
|
2014-07-29 20:28:54 -04:00 |
|
josh
|
16ae435cbb
|
store GL programs as GLProgram pointers instead of GLuints
|
2014-07-29 20:27:06 -04:00 |
|
josh
|
914f08952b
|
GLProgram: load and store uniform locations
|
2014-07-29 17:27:17 -04:00 |
|
josh
|
cad9bc056f
|
Window: store GL programs for fast access after #initialize completes
|
2014-07-28 10:33:33 -04:00 |
|
josh
|
1081903730
|
add GLProgram_GetID()
|
2014-07-28 10:32:59 -04:00 |
|
josh
|
d68cd6a396
|
add Window rendering capabilities
|
2014-07-27 13:58:03 -04:00 |
|
josh
|
a19f17481b
|
Window#initialize: call super
|
2014-07-27 13:25:26 -04:00 |
|
josh
|
9c65624afc
|
Window: add resize()
|
2014-07-27 13:14:30 -04:00 |
|
josh
|
f2d3942f8a
|
add Widget module
|
2014-07-27 09:28:35 -04:00 |
|
josh
|
b455fb9e15
|
load GL buffers
|
2014-07-26 11:16:35 -04:00 |
|
josh
|
5c52ed0c4d
|
Font: compute baseline_offset
|
2014-07-26 11:02:37 -04:00 |
|
josh
|
de5b4e7413
|
Font: preload some glyphs, add advance and line_height Ruby attributes
|
2014-07-26 09:25:44 -04:00 |
|
josh
|
b7ad236b7b
|
convert Font to Ruby class
|
2014-07-25 23:31:29 -04:00 |
|
josh
|
8d8c9adcb3
|
clean up allocated memory properly when raising Ruby exceptions upon object creation
|
2014-07-25 16:29:19 -04:00 |
|
josh
|
9203a94a71
|
remove FontManager module
|
2014-07-24 21:15:25 -04:00 |
|
josh
|
40719e085a
|
add Init_FreeType() in Font.cc
|
2014-07-24 21:14:29 -04:00 |
|
josh
|
abf21b4b73
|
mark main() as extern "C"
|
2014-07-24 15:08:45 -04:00 |
|
josh
|
b908c98c8c
|
record all Windows, add Window.event_loop
|
2014-07-23 22:21:59 -04:00 |
|
josh
|
8604d6d5ad
|
load shaders from Ruby on Window creation
|
2014-07-23 16:36:40 -04:00 |
|
josh
|
d85a0de9df
|
fill in GLProgram#initialize
|
2014-07-23 15:33:39 -04:00 |
|
josh
|
2ae76e55f1
|
add Runtime.read
|
2014-07-23 15:17:41 -04:00 |
|
josh
|
41855c4e89
|
add GLProgram#link
|
2014-07-23 15:14:02 -04:00 |
|
josh
|
43487eb415
|
finish off GLShader_new()
|
2014-07-22 20:24:24 -04:00 |
|
josh
|
864c5c2930
|
add GLProgram#bind_attribute
|
2014-07-22 18:59:46 -04:00 |
|
josh
|
6a22ae4ad4
|
GLProgram: define initialize in ruby, allow attaching shaders
|
2014-07-22 18:59:01 -04:00 |
|
josh
|
bd188f9e83
|
add GLShader_id()
|
2014-07-22 18:51:38 -04:00 |
|
josh
|
6aef5dab75
|
begin on GLProgram
|
2014-07-22 18:36:16 -04:00 |
|
josh
|
bf15a702ab
|
convert GLShader to a Ruby class
|
2014-07-19 13:17:23 -04:00 |
|
josh
|
c3b4c33304
|
remove "namespace jes" wrapper around C++ content
|
2014-07-19 12:42:29 -04:00 |
|
josh
|
b6c5e9e1d7
|
break up Init_Graphics() into Init_SDL() and Init_OpenGL() since they need to be called at separate times
|
2014-07-19 12:34:25 -04:00 |
|
josh
|
b559ef1be0
|
add Window module
|
2014-07-19 09:24:55 -04:00 |
|
josh
|
6ec0383392
|
remove Core c++ module
|
2014-07-18 20:29:45 -04:00 |
|
josh
|
2f2cec509e
|
remove Runtime c++ class
|
2014-07-18 20:28:40 -04:00 |
|
josh
|
447e4279e7
|
Runtime: locate font files
|
2014-07-15 16:54:12 -04:00 |
|
josh
|
4431cf4b29
|
optimize Runtime.default_paths slightly
|
2014-07-15 16:19:41 -04:00 |
|
josh
|
5c9cc2223e
|
set up Ruby load path for runtime modules; add runtime.rb
|
2014-07-15 15:26:35 -04:00 |
|
josh
|
71578566fe
|
link with static libgcc and libstdc++ on Windows
|
2014-07-15 12:05:32 -04:00 |
|
josh
|
4d515297e6
|
rework Rakefile.rb to allow cross-compiling from cygwin
|
2014-07-15 11:56:34 -04:00 |
|
josh
|
d5e7774e3c
|
rename runtime/fonts/freefont -> runtime/fonts/freefont-ttf-20120503
|
2014-07-15 10:32:25 -04:00 |
|
josh
|
ece813da21
|
add dejavu-fonts-ttf-2.34 fonts to runtime
|
2014-07-15 10:31:57 -04:00 |
|
josh
|
17bce5caed
|
move JES_O_BINARY to FileReader.cc
|
2014-07-12 11:23:11 -04:00 |
|
josh
|
a3326b099b
|
print exceptions like MRI
|
2014-07-12 11:12:21 -04:00 |
|
josh
|
2d7d3d14ab
|
pass ARGV to main.rb; catch bootstrapping exceptions
|
2014-07-12 10:30:02 -04:00 |
|
josh
|
f0db52e3d7
|
embed a Ruby; load runtime/main.rb
|
2014-07-12 10:09:24 -04:00 |
|
josh
|
a717ed4a38
|
fix unit tests for reorganized codebase
|
2014-07-12 09:46:32 -04:00 |
|
josh
|
e1c5d0f0f4
|
remove library/gui source trees, put everything under src/
|
2014-07-12 09:46:32 -04:00 |
|
josh
|
45d86d1e35
|
determine baseline offset based on descender for "g" glyph
|
2014-06-26 14:09:02 -04:00 |
|
josh
|
dd5b7bf8fd
|
GUI: add load_buffers(), draw_rect()
|
2014-06-26 12:50:48 -04:00 |
|
josh
|
7c9c176c90
|
add GLBuffer class
|
2014-06-26 12:49:40 -04:00 |
|
josh
|
2f7bac1d75
|
update shaders to #version 410
|
2014-06-26 12:00:04 -04:00 |
|
josh
|
3c22fed1fe
|
GUI: add resize() and draw()
|
2014-06-26 11:15:34 -04:00 |
|
josh
|
23a24e4af4
|
GUI: load GL shaders/programs
|
2014-06-26 10:47:46 -04:00 |
|
josh
|
c5de5ae479
|
rework text shader, add basic and rect shaders
|
2014-06-26 10:47:45 -04:00 |
|
josh
|
7623a85e4e
|
make GUI resizable
|
2014-06-24 21:40:56 -04:00 |
|
josh
|
da2bf02922
|
include string.h in GLTexture.cc
|
2014-06-24 18:31:24 -04:00 |
|
josh
|
33242af038
|
Font: fix glyph vertex and texture coordinates
|
2014-06-24 09:29:28 -04:00 |
|
josh
|
4ef71dae79
|
fix text vertex shader coordinate mapping
|
2014-06-24 09:28:20 -04:00 |
|
josh
|
eb72558cf7
|
add GLTexture class; use from Font::Glyph
|
2014-06-24 09:18:13 -04:00 |
|
josh
|
89849c561a
|
Font::render(): bind buffer before setting vertex attribute pointer
|
2014-06-24 08:40:27 -04:00 |
|
josh
|
98a27bd20b
|
build glyph bitmap position into its VBO coordinates
|
2014-06-23 16:35:39 -04:00 |
|
josh
|
f75cd9d4ad
|
rename GLProgram::operator[]() to GLProgram::get_uniform()
|
2014-06-23 16:24:00 -04:00 |
|
josh
|
5403d13f6a
|
rename Font::operator[]() to Font::get_glyph()
|
2014-06-23 16:23:40 -04:00 |
|
josh
|
d7f7dbdc28
|
rename Font::draw() to Font::render()
|
2014-06-23 16:23:23 -04:00 |
|
josh
|
5558eec534
|
add GLShader::create() which takes a PathRef
|
2014-06-23 16:11:20 -04:00 |
|
josh
|
d54e772803
|
add Path::read()
|
2014-06-23 15:59:38 -04:00 |
|
josh
|
08979cef45
|
add FileReader class
|
2014-06-23 15:57:07 -04:00 |
|
josh
|
975c393b1d
|
JES_Init() should be static inline
|
2014-06-23 15:56:31 -04:00 |
|
josh
|
f7937c1bea
|
rename FileReader to FileLoader
|
2014-06-23 15:46:56 -04:00 |
|
josh
|
29520933f7
|
add test_Ref.cc
|
2014-06-23 15:10:03 -04:00 |
|
josh
|
1d049b5f27
|
Ref: add operator==(), operator!=()
|
2014-06-23 15:07:19 -04:00 |
|
josh
|
8aff635d5f
|
implement vertex coordinate mapping in text.v.glsl
|
2014-06-23 15:05:28 -04:00 |
|
josh
|
21aa8543ac
|
Font: add operator[](), get_baseline_offset()
|
2014-06-23 14:43:38 -04:00 |
|
josh
|
da73f62845
|
compute Font advance from that of "x" glyph
|
2014-06-23 14:26:48 -04:00 |
|
josh
|
91e6988fce
|
add Font::Glyph class
|
2014-06-23 14:23:34 -04:00 |
|
josh
|
959a2571af
|
add Font::get_line_height()
|
2014-06-23 13:08:29 -04:00 |
|
josh
|
77022ae0b5
|
fix reading files without performing newline conversion on Windows
|
2014-06-23 11:51:08 -04:00 |
|
josh
|
dfbbd04862
|
add FontManager::get_mono_font()
|
2014-06-22 21:25:50 -04:00 |
|
josh
|
076e2a51d7
|
fix Runtime::locate() to calculate proper runtime directory
|
2014-06-22 21:24:46 -04:00 |
|
josh
|
bdd28ab362
|
updates to Runtime::locate(), FontManager, and GUI loading
|
2014-06-22 21:16:08 -04:00 |
|
josh
|
1effe27afb
|
link with libjes.a as a source so Rscons picks up library file modifications
|
2014-06-22 21:02:02 -04:00 |
|
josh
|
cae4b077d9
|
fix Path::ext() when new_ext == ""
|
2014-06-22 21:01:38 -04:00 |
|
josh
|
a1e9c30af2
|
add Path::ext()
|
2014-06-22 20:36:54 -04:00 |
|
josh
|
87c3abe0fa
|
add GLShader and GLProgram
|
2014-06-22 16:46:59 -04:00 |
|
josh
|
f94b754b0a
|
Path::dirname() and Path::join() return PathRef
|
2014-06-22 16:08:40 -04:00 |
|
josh
|
6a51c5a880
|
fill in Runtime::locate()
|
2014-06-22 16:02:40 -04:00 |
|
josh
|
c001fca012
|
add Path::dir_entries()
|
2014-06-22 15:42:26 -04:00 |
|
josh
|
e3cb7b15b4
|
add Path::exists()
|
2014-06-22 15:30:05 -04:00 |
|
josh
|
b55d8d0f09
|
Core: store bin path as a Path instead of a std::string
|
2014-06-22 15:12:43 -04:00 |
|
josh
|
49ccad5ed4
|
implement Path::dirname()
|
2014-06-19 00:01:10 -04:00 |
|
josh
|
eb12420155
|
implement Path::join()
|
2014-06-18 23:49:04 -04:00 |
|
josh
|
863fb2018b
|
more Path tests
|
2014-06-18 20:09:58 -04:00 |
|
josh
|
3cd064bcb8
|
add initial Path unit tests
|
2014-06-18 20:07:15 -04:00 |
|
josh
|
28ed5a30a4
|
add Path::to_s()
|
2014-06-18 20:07:07 -04:00 |
|
josh
|
8fb1fee7b8
|
fix LIBPATH for tests
|
2014-06-18 20:06:41 -04:00 |
|
josh
|
28b05da01c
|
add initial Path class
|
2014-06-18 20:03:50 -04:00 |
|
josh
|
83553e78f1
|
add jes.h, Core, and Runtime
|
2014-06-18 19:53:23 -04:00 |
|