{"id":15478541,"url":"https://github.com/edin-m/gamedev-bvh-loader-article","last_synced_at":"2025-04-22T14:48:24.439Z","repository":{"id":26481085,"uuid":"29933016","full_name":"edin-m/gamedev-bvh-loader-article","owner":"edin-m","description":"Repo for storing gamedev article(s) code","archived":false,"fork":false,"pushed_at":"2019-12-01T14:15:33.000Z","size":4161,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-08T23:10:50.691Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"tiddlyweb/tiddlywebplugins.links","license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edin-m.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-27T20:18:28.000Z","updated_at":"2021-09-26T07:23:38.000Z","dependencies_parsed_at":"2022-08-29T22:20:25.236Z","dependency_job_id":null,"html_url":"https://github.com/edin-m/gamedev-bvh-loader-article","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edin-m%2Fgamedev-bvh-loader-article","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edin-m%2Fgamedev-bvh-loader-article/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edin-m%2Fgamedev-bvh-loader-article/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edin-m%2Fgamedev-bvh-loader-article/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edin-m","download_url":"https://codeload.github.com/edin-m/gamedev-bvh-loader-article/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250262977,"owners_count":21401778,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T04:05:40.810Z","updated_at":"2025-04-22T14:48:24.421Z","avatar_url":"https://github.com/edin-m.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"BVH File Loading and Displaying (codebase)\r\n===\r\nhttp://www.gamedev.net/page/resources/_/technical/game-programming/bvh-file-loading-and-displaying-r3295\r\n\r\nLicence\r\n===\r\n1. I do not claim to own anything in data/* folders.\r\n2. Code in test1/** is under GPL2 unless said otherwise in files (only bvh.cpp and bvh.h are exception)\r\n\r\nDescription\r\n====\r\n!!!!!!!!!!!!\r\n\r\n**This is Linux-only. To check out cross-platform version, use https://github.com/edin-m/gamedev-articles under `projects/bvh-loader`.**\r\n\r\n!!!!!!!!!!!!\r\n\r\nProject is located under test1 folder (creative, I know). It is only supported on X11 (which means Linux). \r\nIt would be good to port it with GLFW to multiplatform.\r\n\r\nProject features creating OpenGL 3+ context on X11 system, bvh file loading and playing and using \r\nVertex Array Objects (VAO) for rendering by GPU. It also features reusable shader class that is put to only basic use here. \r\nBut can be used for various things.\r\n\r\nIt's main function is to load bvh file and display it and play it. Paths are hardcoded and shortcuts are:\r\n - Arrows left right up and down move camera\r\n - b plays backwards\r\n - c plays forwards\r\n - v stops playback\r\n - n frame forward\r\n - x frame backward\r\n\r\nSetup dependencies\r\n===\r\n```\r\ngit submodule init lib/glm\r\ngit submodule update lib/glm\r\n\r\ngit submodule init lib/glew\r\ngit submodule update lib/glew\r\n\r\ngit submodule init lib/glfw\r\ngit submodule update lib/glfw\r\n\r\ncd /.../lib/glew/auto\r\nmake\r\n\r\ncd /.../lib/glew\r\nmake\r\n\r\ncd /.../lib/glfw\r\ncmake .\r\n```\r\n\r\n### Windows\r\n\r\nSetup:\r\n\r\n - cmake\r\n - msys \u0026 git\r\n - Visual studio (ex. 2015 express)\r\n\r\n##### GLFW\r\n\r\n```bash\r\n$ cd lib/glfw\r\n$ cmake -G \"Visual Studio 14 2015\" .\r\n```\r\n\r\nOpen visual studio project ```lib/glfw/GLFW.sln``` or ```lib/glfw/src/Project.sln```\r\nand build ```Relase``` and ```Debug``` version which will be in ```lib/gflw/src/[Debug|Release]``` path\r\n\r\n##### GLEW\r\n\r\nFor GLEW it is best to download binaries from official site.\r\nThey are included in ```lib/glew-1.13.0``` but it is fixed version.\r\nYou may want to change that.\r\n\r\n\r\nDependencies\r\n===\r\nYou will need:\r\n  - linux (check that graphics work with glxgears)\r\n  - GLEW (see below for location)\r\n  - qmake (comes with qt sdk and qt creator)\r\n  - glm (this is included in the repo include/ folder since it is header only library)\r\n  \r\nqmake uses test1.pro to load and link libraries - only dependency being GLEW \r\nwhich expects to find it in REPO_ROOT/lib/glew-1.10.0/glew-1.10.0/lib. This can be changed in test1.pro\r\n\r\nOf other dependencies you need to have normal build toolchain, libpthread dev, \r\nand gcc should support flags -std=c++11 -std=gnu++11 which is for any recent gcc no problem.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedin-m%2Fgamedev-bvh-loader-article","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedin-m%2Fgamedev-bvh-loader-article","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedin-m%2Fgamedev-bvh-loader-article/lists"}