Commit Graph
100 Commits
Author SHA1 Message Date
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
josh c19ea4e1b0 produce build results in /bin and /lib 2014-06-18 18:44:05 -04:00
josh c23ff6c0ac set return code from GUI::run() 2014-06-18 18:39:30 -04:00
josh b7e66e3031 build with gnu99 and gnu++11 standards 2014-06-18 17:04:07 -04:00
josh 190e31219c mark Gemfile.lock for usage on x86-mingw32 platform also 2014-06-18 16:56:50 -04:00
josh f7eed2076c update Rakefile to use rscons-1.5.0 features 2014-06-17 23:08:50 -04:00
josh 34b453b7dd update to rscons-1.5.0 2014-06-17 23:02:51 -04:00
josh 031aa554cd add initial text shaders 2014-06-17 22:53:44 -04:00
josh 27a167e97d Font: add constructor/destructor 2014-06-15 20:37:31 -04:00