Commit Graph
100 Commits
Author SHA1 Message Date
josh 0244338e94 add BufferWidget#initialize, #render, add a BufferWidget to Window 2014-08-14 21:51:19 -04:00
josh 8c8cae552c add Buffer ruby class 2014-08-14 21:37:37 -04:00
josh 7b56e874e3 add BufferWidget 2014-08-14 21:22:54 -04:00
josh bdf0e1c6bc add initial Buffer class 2014-08-14 21:13:33 -04:00
josh d76838f229 remove Path module 2014-08-14 20:41:19 -04:00
josh 8a7c3d8112 GL.draw_text: use baseline_offset when rendering text 2014-08-07 21:05:40 -04:00
josh 807e61dc8a Font: fix baseline_offset calculation 2014-08-07 21:05:13 -04:00
josh cdb22f3ff2 enable blending for text rendering 2014-08-05 22:25:26 -04:00
josh 67682df332 add GL.draw_text and Widget#draw_text 2014-08-05 22:20:21 -04:00
josh 0ca8e044b2 add Font_RenderGlyph() 2014-08-05 22:18:22 -04:00
josh f17351072f set active texture in GL, not Font module 2014-08-05 21:36:47 -04:00
josh 81d5bca7bb use NUM2DBL() instead of RFLOAT_VALUE() 2014-08-05 20:44:04 -04:00
josh 9824ef9373 GLShader: fix return value of create_shader() 2014-08-05 20:07:43 -04:00
josh e600ec871f GLProgram: raise error when uniform location cannot be determined 2014-08-05 20:07:26 -04:00
josh d4a2222447 fix scanning programs for uniform names 2014-08-05 20:05:30 -04:00
josh d3e2046b69 replace gl_FragColor with frag_color output vector in fragment shaders 2014-08-05 20:04:52 -04:00
josh be8f71296f link programs before getting uniform locations; add Widget#draw_rect; fix GL.draw_rect; store uniforms as GLint 2014-08-04 23:19:30 -04:00
josh 7cc541ed29 change Window.render to Window.render_begin; add empty Ruby Window.render method 2014-08-04 22:16:51 -04:00
josh 846e21bf5f rm obsolete GUI module 2014-08-04 22:08:28 -04:00
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