{"id":18725317,"url":"https://github.com/sintefmath/scene","last_synced_at":"2025-11-11T18:30:17.258Z","repository":{"id":147095506,"uuid":"8335853","full_name":"sintefmath/scene","owner":"sintefmath","description":"COLLADA parser and runtime","archived":false,"fork":false,"pushed_at":"2014-06-30T19:27:45.000Z","size":4495,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-12-28T13:15:00.056Z","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":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sintefmath.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":"2013-02-21T13:45:05.000Z","updated_at":"2014-05-23T11:34:41.000Z","dependencies_parsed_at":"2023-03-25T11:48:38.997Z","dependency_job_id":null,"html_url":"https://github.com/sintefmath/scene","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/sintefmath%2Fscene","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2Fscene/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2Fscene/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sintefmath%2Fscene/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sintefmath","download_url":"https://codeload.github.com/sintefmath/scene/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239592980,"owners_count":19664855,"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-11-07T14:09:46.097Z","updated_at":"2025-11-11T18:30:17.205Z","avatar_url":"https://github.com/sintefmath.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"scene\n=====\n\nCOLLADA parser and runtime\n\n\nCMake options\n==============\n\nSCENE_TINIA         Build Tinia bridge (export of renderlists), say YES if you\n                    intend to use Scene with Tinia.\nSCENE_LOG4CXX       Use log4cxx for logging, say YES if you use log4cxx in your\n                    project, NO otherwise.\nSCENE_OPTIMIZATION  Enable compiler optimizations, say YES if unsure.\nSCENE_SSE4_2        Enable use of SSE4.2 intrinsics in transformcache, say YES\n                    unless you want to run Scene on a non-SSE4.2 CPU (pre i7).\nSCENE_DEBUG         Enable debug symbols, say YES if you intend to run anything\n                    linked to Scene through a debugger.\nSCENE_THREADS       Use a thread-pool in transformcache, currently say NO if\n                    unsure.\nSCENE_PROFILING     Enable compile-time profiling info, say NO if unsure.\nSCENE_CHECK_TYPES   Enable runtime-checks of types, say NO unless you develop\n                    Scene itself.\nSCENE_RL_CHUNKS     Use new chunk-based renderlist building, say YES if unsure.\nSCENE_UNITTEST      Build a small set of unit-tests\n\n\nRequirements\n============\n\nGeneral:\n- libPNG                Required to read textures.\n- libXml2               Required to parse COLLADA documents.\n- boost 1.47 or newer\n- GLEW\n- GLM\n- GLUT/FreeGLUT         Used by GLUT-based viewer.\n- Tinia                 Used by Tinia-based viewer and Tinia-bridge.\n\nWindows:\n- zlib\n\nBounding-boxes\n==============\n\nCOLLADA files do not have any intrinsic bounding-box information, which is\nneeded when determining the view frustum. Scene handles this using three\nfunctions:\n\n- Scene::Tools::updateBoundingBox( geometry )\n  Updates the bounding box for a single geometry.\n\n- Scene::Tools::updateBoundingBox( database )\n  Updates bounding boxes for all geometries in a database.\n\n- Scene::Tools::visualSceneExtents( bbmin, bbmax, renderlist )\n  Get the composite world-space bounding box for all transformed geometry\n  instances in a visual scene.\n\nShared inputs\n=============\n\nCOLLADA allows indexed geometry to be specified using index-tuples, which is not\nsupported by OpenGL. Scene handles this using the following two functions:\n\n- Scene::Geometry::hasSharedInputs\n  Returns true if the geometry has shared inputs and cannot be directly\n  rendered.\n\n- Scene::Geometry::flatten\n  Flattens multi-indices to single-indicies so that the geometry can be\n  directly rendered.\n\n\nShader profiles\n===============\n\nCOLLADA allows an effect to have different profiles. For on-screen rendering,\nScene requires that a GLSL profile is present. For webgl renderlist, the GLES2\nprofile is required to be present.\n\nIf a COMMON profile is present GLSL/GLES2 profiles can be generated:\n\n- Scene::Effect::profile( profile )\n  Returns the prescribed profile, or NULL if not present.\n\n- Scene::Effect::generate( profile )\n  Generate profile from COMMON profile.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintefmath%2Fscene","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsintefmath%2Fscene","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintefmath%2Fscene/lists"}