diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/05Font/main.cpp | 92 |
1 files changed, 55 insertions, 37 deletions
diff --git a/test/05Font/main.cpp b/test/05Font/main.cpp index ec82b6a..cdda3f0 100644 --- a/test/05Font/main.cpp +++ b/test/05Font/main.cpp @@ -11,16 +11,30 @@ Canvas* canvas; FontData* data = nullptr; JSLProgram* shader = nullptr; Page* page = nullptr; +Texture* tex = nullptr; float dt; void onLoad() { const char* program = R"( -uniform float dt; -Color effect(Color col, Texture tex, vec2 uv, vec2 screen) +#VERTEX_SHADER + +vertex vert(vertex v) { - return Texel(tex, uv); + return v; } + +#END_VERTEX_SHADER + +#FRAGMENT_SHADER + +Color frag(Color col, Texture tex, vertex v) +{ + //return Texel(tex, v.uv); + return vec4(1, 1, 1, 1); +} + +#END_FRAGMENT_SHADER )"; shader = JSLProgram::createJSLProgram(program); Filesystem* fs = Filesystem::get(); @@ -31,6 +45,10 @@ Color effect(Color col, Texture tex, vec2 uv, vec2 screen) font = Font::createFont(data, 15); //canvas = Canvas::createCanvas(100, 100); //page = font->typeset("こんにちは世界!", 120, 20); + buffer.clear(); + fs->read("img.png", &buffer); + Bitmap* bitmap = Bitmap::createBitmap(buffer.data, buffer.size); + tex = Texture::createTexture(bitmap); } void onEvent(jin::input::Event* e) @@ -47,42 +65,42 @@ void onUpdate(int ms) void onDraw() { - gl.pushColor(32, 32, 32, 255); - glColor4f(32 / 255.f, 32 / 255.f, 32 / 255.f, 1); - rect(FILL, 0, 0, 500, 500); - glColor4f(1, 1, 1, 1); + //gl.pushColor(32, 32, 32, 255); + //rect(FILL, 0, 0, 500, 500); + gl.pushColor(255, 255, 255, 255); shader->use(); - shader->sendFloat("dt", dt); + tex->draw(0, 0, 1, 1, 0); + //shader->sendFloat("dt", dt); //Canvas::bind(canvas); - if (font != nullptr) - { - glColor4f(1, 1, 1, 1); - //font->print(u8"Hello,你好\n啊 world!", 10, 10); - //font->print(u8"Привет мир!", 10, 10 + 15 * 1); - font->print(u8R"( -One of the most enjoyable arcade game. -abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -平安時代中期の物語。紫式部著。ただし,そのすべてが紫式部の筆に成るのでは -ないとする説もある。 54帖。寛弘 (1004~12) 頃成立か。物語は3部に分けてみ -ることができる。第1部は,容貌,才能などすべてにすぐれた主人公光源氏が,多 -啊哈噶科膜卡して広く迎えられている。貴族社会の苦悩を摘出したところに磁瓷得 -ることができる。第1部は,容貌,才能などすべてにすぐれた主人公光源氏が,多 -くの女性と関係をもちながら,運命に導かれて栄華をきわめる姿を描く。これに対 -して第2部は苦悩の世界であって,光源氏は最愛の紫の上を失い,栄華は内側から崩 -壊する。第3部 (宇治十帖) は光源氏没後の物語で,不義によって生れた薫大将を主 -人公として,不安に満ちた暗い世界が展開される。さまざまな恋愛と運命的な人生の -うちに,貴族社会の苦悩を摘出したところに価値があり,現代では,世界的な文学と -して広く迎えられている。abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -漫画自1999年开始在日本集英社旗下的少年漫画杂志《周刊少年Jump》上连载。2002年 -,由日本动画工作室Studio Pierrot根据漫画原作所改编制作的电视动画版《火影忍者 -》开始在日本东京电视台播出。2004年,漫画进而改编成电影。2006年,漩涡鸣人入选 -美国《新闻周刊》日文版于10月18日发行的特集中选出的“全世界最受尊敬的100位日本 -人”。[2] -)", 12, 10 + 15 * 2, 18); - //font->print(u8"你好世界!", 10, 10 + 15*3); - //font->render(page); - glColor4f(1, 1, 1, 1); - } +// if (font != nullptr) +// { +// glColor4f(1, 1, 1, 1); +// //font->print(u8"Hello,你好\n啊 world!", 10, 10); +// //font->print(u8"Привет мир!", 10, 10 + 15 * 1); +// font->print(u8R"( +//One of the most enjoyable arcade game. +//abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ +//平安時代中期の物語。紫式部著。ただし,そのすべてが紫式部の筆に成るのでは +//ないとする説もある。 54帖。寛弘 (1004~12) 頃成立か。物語は3部に分けてみ +//ることができる。第1部は,容貌,才能などすべてにすぐれた主人公光源氏が,多 +//啊哈噶科膜卡して広く迎えられている。貴族社会の苦悩を摘出したところに磁瓷得 +//ることができる。第1部は,容貌,才能などすべてにすぐれた主人公光源氏が,多 +//くの女性と関係をもちながら,運命に導かれて栄華をきわめる姿を描く。これに対 +//して第2部は苦悩の世界であって,光源氏は最愛の紫の上を失い,栄華は内側から崩 +//壊する。第3部 (宇治十帖) は光源氏没後の物語で,不義によって生れた薫大将を主 +//人公として,不安に満ちた暗い世界が展開される。さまざまな恋愛と運命的な人生の +//うちに,貴族社会の苦悩を摘出したところに価値があり,現代では,世界的な文学と +//して広く迎えられている。abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ +//漫画自1999年开始在日本集英社旗下的少年漫画杂志《周刊少年Jump》上连载。2002年 +//,由日本动画工作室Studio Pierrot根据漫画原作所改编制作的电视动画版《火影忍者 +//》开始在日本东京电视台播出。2004年,漫画进而改编成电影。2006年,漩涡鸣人入选 +//美国《新闻周刊》日文版于10月18日发行的特集中选出的“全世界最受尊敬的100位日本 +//人”。[2] +//)", 12, 10 + 15 * 2, 18); +// //font->print(u8"你好世界!", 10, 10 + 15*3); +// //font->render(page); +// glColor4f(1, 1, 1, 1); +// } shader->unuse(); //Canvas::unbind(); //canvas->draw(0, 0, 2, 2, 0); |