{"action":"created","issue":{"url":"https://api.github.com/repos/minetest/minetest/issues/5320","repository_url":"https://api.github.com/repos/minetest/minetest","labels_url":"https://api.github.com/repos/minetest/minetest/issues/5320/labels{/name}","comments_url":"https://api.github.com/repos/minetest/minetest/issues/5320/comments","events_url":"https://api.github.com/repos/minetest/minetest/issues/5320/events","html_url":"https://github.com/minetest/minetest/pull/5320","id":210705499,"number":5320,"title":"[For Testing] Allow server side occlusion culling.","user":{"login":"lhofhansl","id":446130,"avatar_url":"https://avatars3.githubusercontent.com/u/446130?v=3","gravatar_id":"","url":"https://api.github.com/users/lhofhansl","html_url":"https://github.com/lhofhansl","followers_url":"https://api.github.com/users/lhofhansl/followers","following_url":"https://api.github.com/users/lhofhansl/following{/other_user}","gists_url":"https://api.github.com/users/lhofhansl/gists{/gist_id}","starred_url":"https://api.github.com/users/lhofhansl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lhofhansl/subscriptions","organizations_url":"https://api.github.com/users/lhofhansl/orgs","repos_url":"https://api.github.com/users/lhofhansl/repos","events_url":"https://api.github.com/users/lhofhansl/events{/privacy}","received_events_url":"https://api.github.com/users/lhofhansl/received_events","type":"User","site_admin":false},"labels":[{"id":73368921,"url":"https://api.github.com/repos/minetest/minetest/labels/@%20Server%20/%20Client%20/%20Env.","name":"@ Server / Client / Env.","color":"009800","default":false},{"id":471238548,"url":"https://api.github.com/repos/minetest/minetest/labels/Feature","name":"Feature","color":"f9d0c4","default":false},{"id":256918838,"url":"https://api.github.com/repos/minetest/minetest/labels/Performance","name":"Performance","color":"ffff00","default":false},{"id":110411003,"url":"https://api.github.com/repos/minetest/minetest/labels/WIP","name":"WIP","color":"aa3000","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":18,"created_at":"2017-02-28T07:13:16Z","updated_at":"2017-03-02T01:39:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/minetest/minetest/pulls/5320","html_url":"https://github.com/minetest/minetest/pull/5320","diff_url":"https://github.com/minetest/minetest/pull/5320.diff","patch_url":"https://github.com/minetest/minetest/pull/5320.patch"},"body":"1. Moved occlusion culling code from ClientMap to Map.\r\n\r\n2. Changed transparency condition from \r\n```\r\n\t\tconst ContentFeatures &f = nodemgr->get(n);\r\n\t\tif(f.solidness == 0)\r\n\t\t\tis_transparent = (f.visual_solidness != 2);\r\n\t\telse\r\n\t\t\tis_transparent = (f.solidness != 2);\r\n```\r\nto\r\n`f.drawtype == NDT_NORMAL`\r\nThis is needed so the same code can be used on client and server without virtual dispatching in hot code path.\r\n(see ContentFeature::updateTextures for why this is correct)\r\n\r\n3. Optionally enable occlusion code on the server, using the player eye-position as reference point.\r\n\r\nIn my tests this saved between 50 and 80% of the blocks sent to the server when block_send_optimize_distance is set to the maximum with no visual impact.\r\n"},"comment":{"url":"https://api.github.com/repos/minetest/minetest/issues/comments/283529267","html_url":"https://github.com/minetest/minetest/pull/5320#issuecomment-283529267","issue_url":"https://api.github.com/repos/minetest/minetest/issues/5320","id":283529267,"user":{"login":"lhofhansl","id":446130,"avatar_url":"https://avatars3.githubusercontent.com/u/446130?v=3","gravatar_id":"","url":"https://api.github.com/users/lhofhansl","html_url":"https://github.com/lhofhansl","followers_url":"https://api.github.com/users/lhofhansl/followers","following_url":"https://api.github.com/users/lhofhansl/following{/other_user}","gists_url":"https://api.github.com/users/lhofhansl/gists{/gist_id}","starred_url":"https://api.github.com/users/lhofhansl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lhofhansl/subscriptions","organizations_url":"https://api.github.com/users/lhofhansl/orgs","repos_url":"https://api.github.com/users/lhofhansl/repos","events_url":"https://api.github.com/users/lhofhansl/events{/privacy}","received_events_url":"https://api.github.com/users/lhofhansl/received_events","type":"User","site_admin":false},"created_at":"2017-03-02T01:39:24Z","updated_at":"2017-03-02T01:39:24Z","body":"@Fixer-007 We'll keep the day-night optimization - which has the rendering errors. Server side occlusion help even on top of that. But when you want correct rendering, than occlusion culling can give you that and save blocks (in tight caves that can be saving 90% or more)."}}
{"actor":{"display_login":"lhofhansl"}}