{"push_id":895241335,"size":42,"distinct_size":6,"ref":"refs/heads/mv/shaders","head":"3894fb4d972565dcfbbd7693d5bfe8b7b0e6e545","before":"a13b5381336c5cdfbfe62d44001380daf93c52bf","commits":[{"sha":"f64f434d4e83e5865c8a336b9f20e8ea54c30d57","author":{"email":"1c3164b7adca272affd9dc1c3bac9f0fae1cabad@users.sourceforge.net","name":"Bjorn Gustavsson"},"message":"Simplify drawing when showing of materials has been turned off\n\nWe can simplify the drawing code in wings_draw if we let\nwings_draw_setup test for materials turned off.","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/f64f434d4e83e5865c8a336b9f20e8ea54c30d57"},{"sha":"10cab10a8fe02830a8e4f196f71d30b2eedc5aa2","author":{"email":"1c3164b7adca272affd9dc1c3bac9f0fae1cabad@users.sourceforge.net","name":"Bjorn Gustavsson"},"message":"Refactor pointer API as the first step towards VBO support\n\nCurrently, geometry is drawn using vertex buffer arrays captured\ninto a display list. There are several problems doing it like that,\nboth in the short term and in the long term.\n\nIn the short term, displays lists are not very efficiently handled\nin some OpenGL drivers. In the long term, display lists are deprecated\nin Open GL 3.x and later, and not supported at all in OpenGL 3.x\non the Mac.\n\nTherefore, we will need to move away from using display lists and\nstart using vertex buffer objects (VBOs).\n\nThe current #vab{} record that supports vertex buffer arrays can\nbe refactored to support VBOs instead. VBOs are similar to\nvertex buffer arrays, but are OpenGL objects that needs to be\ngarbage collected.\n\nAs the first step in the refactoring, we will need to hide more\ndetails of the #vab{} record. The first step (this commit) is\nto replace all the functions that enable or disable pointers\nby two functions:\n\n   enable_pointers(#vab{}, [Extra]).\n   disable_pointers(#vab{}, [Extra]).\n\nBy using one call to enable all pointers, we can later make sure that\nthe buffers are set up in the correct order (the VBO must be bound\nbefore any pointers start to reference it). Since the calls are passed\nthe entire #vab{} record, we can later add more fields to handle VBOs\ninto the #vab{} record.","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/10cab10a8fe02830a8e4f196f71d30b2eedc5aa2"},{"sha":"78858e0e8742a03c3d5e8a48eb0385f660343da9","author":{"email":"1c3164b7adca272affd9dc1c3bac9f0fae1cabad@users.sourceforge.net","name":"Bjorn Gustavsson"},"message":"Internally refactor wings_draw_setup\n\nFactor out the creation of the #vab{} record into the create_vab()\nfunction; that will make it easier to introduce VBOs in a future\ncommit.","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/78858e0e8742a03c3d5e8a48eb0385f660343da9"},{"sha":"4dad4bbcd3dc1ed705d3ddac992d766ca378db6e","author":{"email":"1c3164b7adca272affd9dc1c3bac9f0fae1cabad@users.sourceforge.net","name":"Bjorn Gustavsson"},"message":"Garbage collect #vab{} records\n\nGarbage collect #vab{} records in the same ways as display lists\nare garbage collected. When a #vab{} record is no longer used,\nthe wings_draw_setup:delete_vab/1 function will be called.","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/4dad4bbcd3dc1ed705d3ddac992d766ca378db6e"},{"sha":"71352e49bf71da95a4ca0738b6e8eadaa2075e0a","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"wpc_ambocc: Properly delete #vab{} records\n\nFor the moment, wings_draw_setup:delete_vab/1 is a dummy, but it will not\nbe in a future commit. Refactor the Ambient Occlusion plug-in to properly\ndelete #vab{} records when they are no longer used. Even though the call\nto wings_draw_setup:delete_vab/1 is a dummy, it will actually ensure that\nthe #vab{} record is not garbage collected away too early.\n\nAlso remove the incorrect usage of wings:keep/1. Note that the list\npassed to wings:keep/1 will only be a list of 'ok' atoms.","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/71352e49bf71da95a4ca0738b6e8eadaa2075e0a"},{"sha":"154d098b89ee371544ba9e6161481f94e56fd850","author":{"email":"1c3164b7adca272affd9dc1c3bac9f0fae1cabad@users.sourceforge.net","name":"Bjorn Gustavsson"},"message":"Teach wings_dl to understand drawing funs\n\nIntroduce drawing funs to replace display lists. A drawing fun can\ndo any drawing that needs to be done, but it should attempt to do\nit in an efficient way using VBOs (which will be introduced in the\nnext commit).","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/154d098b89ee371544ba9e6161481f94e56fd850"},{"sha":"e5f367aa134947edf1beedd6b93e3ab9d4e5a051","author":{"email":"8a2957e0063f2abf61bd145b6236a74a3708ac54@erlang.org","name":"Björn Gustavsson"},"message":"Introduce wings_vbo as a help to using Vertex Buffer Objects","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/e5f367aa134947edf1beedd6b93e3ab9d4e5a051"},{"sha":"aa3007d189d7336ecca0e791b3a695049aacec1c","author":{"email":"1c3164b7adca272affd9dc1c3bac9f0fae1cabad@users.sourceforge.net","name":"Bjorn Gustavsson"},"message":"Implement and use Vertex Buffer Objects\n\nNow that the stage has been prepared, we can implement support for\nVBOs in wings_draw_setup and eliminate the use display lists in\nwings_draw.","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/aa3007d189d7336ecca0e791b3a695049aacec1c"},{"sha":"bfe569486c3f939fcf4782ddce3e1d2301e3707b","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"wings_pick: Refactor drawing of highlights to avoid code duplication\n\nGeneralize insert_hilite() so that it can be used for drawing\nthe tweak vector too. That will reduce duplication of similar code,\nand simplify eliminating the use of display lists in wings_pick.","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/bfe569486c3f939fcf4782ddce3e1d2301e3707b"},{"sha":"0abed2f972b912dd0c8e270b7838f626eb83ec0a","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"wings_pick: Eliminate the display list for drawing hilites","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/0abed2f972b912dd0c8e270b7838f626eb83ec0a"},{"sha":"a7fad057a80d9f73d56ac2e27ff355278d41d9cc","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"wings_edge_cmd: Eliminate display list for Cut","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/a7fad057a80d9f73d56ac2e27ff355278d41d9cc"},{"sha":"436fd7c1520be09fbab4188a3cc2e3d9bc6352a2","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"wings_light: Eliminate use of display lists","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/436fd7c1520be09fbab4188a3cc2e3d9bc6352a2"},{"sha":"67a42167ae812bcf0523fd77cfbd19f26ac5cb48","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"wings_tweak: Eliminate use of display lists","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/67a42167ae812bcf0523fd77cfbd19f26ac5cb48"},{"sha":"eafa1d87fdea44ed54dccde0821bd71857d589ab","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"wpc_magnet_mask: Eliminate use of display lists","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/eafa1d87fdea44ed54dccde0821bd71857d589ab"},{"sha":"3e67c3ff32d26a6489bbbcb5eb6abe8154632b62","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"Ambient Occlusion: Eliminate use of display lists","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/3e67c3ff32d26a6489bbbcb5eb6abe8154632b62"},{"sha":"42cd8849ec8755c24a45609d076835cf0a45f8ed","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"wpc_sculpt: Eliminate use of display lists","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/42cd8849ec8755c24a45609d076835cf0a45f8ed"},{"sha":"ea5097ad804bcf4c82b45958c56158cce258f2ea","author":{"email":"8a2957e0063f2abf61bd145b6236a74a3708ac54@erlang.org","name":"Björn Gustavsson"},"message":"wings_glfont: Remove unused function that generates a display list","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/ea5097ad804bcf4c82b45958c56158cce258f2ea"},{"sha":"7d16c2b13a8e00870c5ee45d7581ad25592691d8","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"wings_dl: Introduce extra/3 to keep track of extra graphic objects\n\nextra/3 can be used to keep track of things such as the vector\nin the secondary selection mode.","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/7d16c2b13a8e00870c5ee45d7581ad25592691d8"},{"sha":"f912b86c3e4ecfd514dc0383d4ed76443faa5056","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"wings_vec: Eliminate use of display lists","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/f912b86c3e4ecfd514dc0383d4ed76443faa5056"},{"sha":"78ffc65c26bd566df69f9bdae68aeeda5aebf779","author":{"email":"2e2db67a9bf86097f9657458ed0040cafbd17da9@gmail.com","name":"Björn Gustavsson"},"message":"Remove the now unused wings:keep/1 function and friends\n\ndc6566f3 introduced a keeper process for keeping binaries alive.\nAll uses of it has since been eliminated, so it can now be removed.","distinct":false,"url":"https://api.github.com/repos/Micheus/wings/commits/78ffc65c26bd566df69f9bdae68aeeda5aebf779"}]}