From: Mikko Rasa Date: Mon, 25 May 2020 19:11:58 +0000 (+0300) Subject: Remove obsolete demo programs X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=e701721bde143379bb5c5fa4c0326c6b0e8551a4;p=libs%2Fgl.git Remove obsolete demo programs --- diff --git a/Build b/Build index 1a4a262f..6805a334 100644 --- a/Build +++ b/Build @@ -60,18 +60,6 @@ package "mspgl" use "mspgl"; }; - program "shaders" - { - source "demos/shaders.cpp"; - use "mspgl"; - }; - - program "cubemap" - { - source "demos/cubemap.cpp"; - use "mspgl"; - }; - program "desertpillars" { source "demos/desertpillars.cpp"; diff --git a/demos/cubemap.cpp b/demos/cubemap.cpp deleted file mode 100644 index 2a0bc02c..00000000 --- a/demos/cubemap.cpp +++ /dev/null @@ -1,140 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace Msp; - -void create_face_texture(GL::TextureCube &texture, GL::TextureCubeFace face) -{ - unsigned char *pixels = new unsigned char[128*128*3]; - for(int y=0; y<128; ++y) - for(int x=0; x<128; ++x) - { - unsigned i = (x+y*128)*3; - GL::Vector3 v = texture.get_texel_direction(face, x, y); - if(v.y>0) - { - pixels[i] = 96-48*v.y; - pixels[i+1] = 168-84*v.y; - pixels[i+2] = 255; - } - else - { - pixels[i] = rand()%32; - pixels[i+1] = 128-rand()%32; - pixels[i+2] = rand()%32; - } - } - texture.image(face, 0, GL::RGB, GL::UNSIGNED_BYTE, pixels); - delete[] pixels; -} - -int main() -{ - Graphics::SimpleGLWindow window(600, 400); - - GL::TextureCube texture; - texture.storage(GL::RGB, 128); - texture.set_min_filter(GL::LINEAR); - texture.set_wrap(GL::CLAMP_TO_EDGE); - for(unsigned i=0; i<6; ++i) - create_face_texture(texture, texture.enumerate_faces(i)); - - GL::Mesh skybox((GL::VERTEX3, GL::TEXCOORD3)); - GL::BoxBuilder(10, 10, 10).build(skybox); - for(unsigned i=0; i -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace std; -using namespace Msp; - -int main() -{ - Graphics::SimpleGLWindow wnd(800, 800); - - GL::Texture2D tex1; - GL::Texture2D tex2; - - char *data = new char[256*256*3]; - for(unsigned y=0; y<256; ++y) - for(unsigned x=0; x<256; ++x) - { - unsigned i = x+y*256; - data[i] = ((x/16+y/16)&1 ? 255 : 128); - } - tex1.storage(GL::LUMINANCE, 256, 256); - tex1.set_min_filter(GL::LINEAR); - tex1.image(0, GL::LUMINANCE, GL::UNSIGNED_BYTE, data); - - for(unsigned y=0; y<256; ++y) - for(unsigned x=0; x<256; ++x) - { - float yf = (y%16)/40.0-0.2; - float xf = (x%16)/40.0-0.2; - unsigned i = (x+y*256)*3; - float l = sqrt(xf*xf+yf*yf+1); - data[i] = static_cast((1+xf/l)*127); - data[i+1] = static_cast((1+yf/l)*127); - data[i+2] = static_cast((1+1/l)*127); - } - tex2.storage(GL::RGB, 256, 256); - tex2.set_min_filter(GL::LINEAR); - tex2.image(0, GL::RGB, GL::UNSIGNED_BYTE, data); - delete[] data; - - GL::Mesh mesh((GL::VERTEX3, GL::NORMAL3, GL::TEXCOORD2, GL::COLOR4_UBYTE, GL::TANGENT3, GL::BINORMAL3)); - GL::MeshBuilder bld(mesh); - bld.color(0.5f, 1.0f, 0.0f); - GL::CapsuleBuilder(1, 0.72498, 32, 17).texture_fit(GL::GeometryBuilder::WRAP).tbn().build(bld); - GL::Material mat; - mat.set_diffuse(GL::Color(0.5, 1.0, 0.0)); - mat.set_specular(GL::Color(0.45, 0.5, 0.4)); - mat.set_shininess(50); - vector programs; - for(unsigned i=0; i<12; ++i) - { - GL::ProgramBuilder::StandardFeatures feat; - feat.material = i/4>0; - feat.texture = i/4>1; - feat.lighting = i%4>0; - feat.normal_map = i%4>1; - feat.specular = i%4>2; - programs.push_back(new GL::Program(feat)); - } - - GL::ProgramData progdata; - progdata.uniform("texture", 0); - progdata.uniform("normalmap", 1); - - GL::Lighting lighting; - GL::Light light; - light.set_position(GL::Vector4(0, -0.781, 0.625, 0)); - lighting.attach(0, light); - - GL::Texturing texturing; - texturing.attach(0, tex1); - texturing.attach(1, tex2); - - GL::MatrixStack::projection() = GL::Matrix::frustum(-0.1, 0.1, -0.1, 0.1, 0.2, 20); - GL::MatrixStack::modelview() = GL::Matrix::translation(0, 0, -10); - GL::MatrixStack::modelview() *= GL::Matrix::rotation_deg(85, -1, 0, 0); - - wnd.show(); - float angle = 0.0; - Time::TimeStamp last; - while(1) - { - wnd.get_display().tick(); - GL::Framebuffer::system().clear(GL::COLOR_BUFFER_BIT|GL::DEPTH_BUFFER_BIT); - { - GL::Bind bind_depth(GL::DepthTest::lequal()); - GL::Renderer renderer(0); - renderer.set_lighting(&lighting); - renderer.set_material(&mat); - renderer.set_texturing(&texturing); - renderer.add_shader_data(progdata); - for(unsigned i=0; i<12; ++i) - { - GL::Renderer::Push push(renderer); - renderer.set_shader_program(programs[i]); - renderer.transform(GL::Matrix::translation(-3.3+(i%4)*2.2, 0, -3.5+(i/4)*3.0)); - renderer.transform(GL::Matrix::rotation(angle, 0, 0, 1)); - mesh.draw(renderer); - } - } - wnd.swap_buffers(); - Time::TimeStamp t = Time::now(); - if(last) - angle += 0.5*((t-last)/Time::sec); - last = t; - } - - return 0; -}