{"id":20850445,"url":"https://github.com/noteed/opengl-ghostpages","last_synced_at":"2026-04-02T02:03:54.510Z","repository":{"id":66654564,"uuid":"796173","full_name":"noteed/opengl-ghostpages","owner":"noteed","description":"Assorted notes about modern OpenGL programming","archived":false,"fork":false,"pushed_at":"2010-07-26T17:27:25.000Z","size":96,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-27T15:58:42.614Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/noteed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-07-25T06:50:23.000Z","updated_at":"2013-10-19T11:30:55.000Z","dependencies_parsed_at":"2023-02-20T08:25:16.245Z","dependency_job_id":null,"html_url":"https://github.com/noteed/opengl-ghostpages","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/noteed/opengl-ghostpages","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noteed%2Fopengl-ghostpages","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noteed%2Fopengl-ghostpages/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noteed%2Fopengl-ghostpages/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noteed%2Fopengl-ghostpages/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/noteed","download_url":"https://codeload.github.com/noteed/opengl-ghostpages/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noteed%2Fopengl-ghostpages/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"online","status_checked_at":"2026-04-02T02:00:08.535Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-18T03:09:31.708Z","updated_at":"2026-04-02T02:03:54.470Z","avatar_url":"https://github.com/noteed.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# The OpenGL ghostpages\n\nThese are assorted notes about 'modern' OpenGL programming, lousily\nfollowing the [manpages][] located on [opengl.org][].\n\nBecause it is quite short, it is just a single README file in markdown format;\ngithub will happily display it nicely.\n\n[manpages]: http://www.opengl.org/sdk/docs/man/xhtml/\n[opengl.org]: http://www.opengl.org/\n\n----------------------------------------------------------------------\n\n## VertexAttribPointer\n\ndescribe the format of vertex attribute raw data and assign it to a location\n\n    void glVertexAttribPointer (\n      GLuint       location, \n      GLint        size, \n      GLenum       type, \n      GLboolean    normalized, \n      GLsizei      stride, \n      const GLvoid * offset);\n\n* location\n  - The numeric name of the vertex attribute for which the array will supply\n  values.\n\n* offset\n  - Byte offset into the data store of the (non-zero named) buffer object\n  bound to the ARRAY_BUFFER target.\n\n### Notes:\n\nThe specifications talk about 'generic' vertex attributes to differentiate from\nthe old Vertex, Color, Normal (and some others) kinds of attributes whose\nmeaning was fixed. In the non-fixed pipeline, the purpose of the data is\nspecific to the shaders; i.e. put at the discretion of the programer.\n\nFor instance, a vertex attribute (singular) can be used for the position or the\ntexture coordinates of the vertices.\n\nIn the specifications, the location (i.e. the numeric name of the vertex\nattribute) is called the 'index' (of a generic vertex attribute slot).\n\nOffset is really that, an offset. It is called 'pointer' in the specifications\nbecause, say, VertexPointer was initially used to describe 'vertex arrays'.\n\nFrom the description above, it is clear it is necessary to have\n\n- a named, enabled vertex attribute\n- a buffer object bound to ARRAY_BUFFER\n\nVertex attribute names are managed with BindAttribLocation or\nGetAttribLocation.  They are enabled with EnableVertexAttribArray. A buffer\nobject is bound to some target (here, ARRAY_BUFFER) with BindBuffer.\n\nA default (called 'current' in the specifications) vertex attribute value may\nbe defined with VertexAttrib and will be used when no corresponding vertex\nattribute array is enabled.\n\n----------------------------------------------------------------------\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoteed%2Fopengl-ghostpages","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoteed%2Fopengl-ghostpages","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoteed%2Fopengl-ghostpages/lists"}