{"id":2471,"date":"2023-08-14T20:54:58","date_gmt":"2023-08-14T20:54:58","guid":{"rendered":"http:\/\/www.goncalo.pt\/por\/?p=2471"},"modified":"2023-10-07T02:46:31","modified_gmt":"2023-10-07T02:46:31","slug":"2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c","status":"publish","type":"post","link":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/","title":{"rendered":"2023-08-14 &#8211; Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++&#8230;"},"content":{"rendered":"\n<p>O pr\u00f3ximo passo que me veio \u00e0 cabe\u00e7a no meu Game Engine: a Noite, e focos de luzes, al\u00e9m de melhorias no meu Debugging Status Panel. \ud83d\ude42<\/p>\n\n\n\n<p>O que me veio \u00e0 cabe\u00e7a de novo para fazer, foi isto, porque em certos jogos posso querer estar num ambiente de noite, ou entrar com as personagens numa caverna escura, etc.<\/p>\n\n\n\n<p>Pensei em criar focos de luz dirigidos, mas era overkill para o que desejo agora, e isto basta-me.<\/p>\n\n\n\n<p>Como podem ver, eu posso testar a escurid\u00e3o do ecr\u00e3 (no modo de testes), e aumentar e reduzir os focos de luz:<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"http:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine.mp4\"><\/video><\/figure>\n\n\n\n<p>Tudo \u00e9 feito em tempo real, sem facilitismos de OpenGLs e coisas dessas, tudo renderizado por software, mas optimizado de tal forma, que os FPS se mant\u00eam iguais (ou 99% l\u00e1 perto), com tanta opera\u00e7\u00e3o extra. \ud83d\ude42<\/p>\n\n\n\n<p>J\u00e1 s\u00e3o alguns aninhos com optimiza\u00e7\u00f5es avan\u00e7adas em algoritmos deste g\u00e9nero. \ud83d\ude42<\/p>\n\n\n\n<p>O pr\u00f3ximo passo talvez seja o poder criar v\u00e1rios focos e n\u00e3o apenas um, e coloc\u00e1-los em v\u00e1rios locais onde hajam fogos, para ser mais realista.<\/p>\n\n\n\n<p>E talvez o aclarar do ecr\u00e3 inteiro ao me apr\u00f3ximar de outros locais com luz, lembro que este aclarar ao me aproximar de um fogo, o fiz \u00e0 pata com as teclas de testes F7 e F8 que designei para o efeito.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>Fiz tamb\u00e9m algumas altera\u00e7\u00f5es no meu Status Panel, removi certas coisas do log do mesmo, algumas mensagens, como o estado actual do jogador, e coloquei-os num campo que mostra em tempo real o estado do jogador, se est\u00e1 a saltar, cair, andar na corda (aparece at\u00e9 l\u00e1 &#8220;On the Rope like Batman!&#8221; hehehe), e ficou muito giro.<\/p>\n\n\n\n<p>Notem no come\u00e7o do v\u00eddeo os campos &#8220;Player Night Focus Size&#8221;, o &#8220;Night Shadow Opacity&#8221;, e o &#8220;Player State&#8221; mais abaixo!<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>Tenho tamb\u00e9m a opacidade da noite bem como o tamanho do foco de luz do jogador, em tempo real, com as teclas F5 e F6, designadas para o efeito, em tempo real, no modo de testes.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>H\u00e1 dias partilhei melhorias no meu 1\u00ba jogo de Estrat\u00e9gia, o clone do Master of Orion.<\/p>\n\n\n\n<p>Mas como sabem, eu desenvolvo o Game Engine (do zero, em C++), com v\u00e1rias vers\u00f5es, n\u00e3o s\u00f3 um n\u00edvel de testes de plataformas, um de naves (shooter), etc, al\u00e9m do de estrat\u00e9gia, e farei um isom\u00e9trico estilo Pacmania, etc.<\/p>\n\n\n\n<p>E por isso eu vou variando o que fa\u00e7o, quando quero fazer algo novo para manter o c\u00e9rebro ocupado em certos tempos livres, n\u00e3o trabalho apenas no Platformer, ou no Shooter, ou no de Estrat\u00e9gia, ali\u00e1s, posso nem trabalhar no Game Engine mas sim noutros projectos.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>Mais not\u00edcias um dia, que tenho andado muito ocupado e fa\u00e7o estas coisitas apenas nalgumas horitas livres.<\/p>\n\n\n\n<p>2023-08-14.<\/p>\n\n\n\n<p>Publicado no mesmo dia no meu LinkedIn, em:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/feed\/update\/urn:li:activity:7096957690081423360\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.linkedin.com\/feed\/update\/urn:li:activity:7096957690081423360\/<\/a><\/p>\n\n\n\n<p>Post anterior:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-goncalo-ferreira wp-block-embed-goncalo-ferreira\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"SHv1Z7yf4T\"><a href=\"https:\/\/www.goncalo.pt\/por\/2023\/08\/07\/2023-08-07-melhorias-ao-meu-futuro-jogo-de-estrategia-no-espaco-o-clone-do-master-of-orion-em-c\/\">2023-08-07 &#8211; Melhorias ao meu futuro jogo de estrat\u00e9gia no espa\u00e7o, o clone do Master of Orion, em C++&#8230;<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;2023-08-07 &#8211; Melhorias ao meu futuro jogo de estrat\u00e9gia no espa\u00e7o, o clone do Master of Orion, em C++&#8230;&#8221; &#8212; Gon\u00e7alo Ferreira\" src=\"https:\/\/www.goncalo.pt\/por\/2023\/08\/07\/2023-08-07-melhorias-ao-meu-futuro-jogo-de-estrategia-no-espaco-o-clone-do-master-of-orion-em-c\/embed\/#?secret=SHv1Z7yf4T\" data-secret=\"SHv1Z7yf4T\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Post seguinte:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-goncalo-ferreira wp-block-embed-goncalo-ferreira\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"tp7z40VNM9\"><a href=\"https:\/\/www.goncalo.pt\/por\/2023\/08\/19\/2023-08-19-linhas-rectas-animadas-e-dinamicas-para-os-jogos-de-estrategia-criados-com-o-meu-game-engine-em-c\/\">2023-08-19 &#8211; Linhas rectas animadas e din\u00e2micas para os jogos de estrat\u00e9gia criados com o meu Game Engine, em C++&#8230;<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;2023-08-19 &#8211; Linhas rectas animadas e din\u00e2micas para os jogos de estrat\u00e9gia criados com o meu Game Engine, em C++&#8230;&#8221; &#8212; Gon\u00e7alo Ferreira\" src=\"https:\/\/www.goncalo.pt\/por\/2023\/08\/19\/2023-08-19-linhas-rectas-animadas-e-dinamicas-para-os-jogos-de-estrategia-criados-com-o-meu-game-engine-em-c\/embed\/#?secret=tp7z40VNM9\" data-secret=\"tp7z40VNM9\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Post seguinte sobre sombras (este tema):<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-goncalo-ferreira wp-block-embed-goncalo-ferreira\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"rdz48hi711\"><a href=\"https:\/\/www.goncalo.pt\/por\/2023\/09\/07\/2023-09-07-luzes-e-sombras-em-locais-especificos-como-quartos-ou-agua-no-meu-game-engine-em-c\/\">2023-09-07 &#8211; Luzes e Sombras em locais espec\u00edficos como quartos ou \u00e1gua, no meu Game Engine em C++&#8230;<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;2023-09-07 &#8211; Luzes e Sombras em locais espec\u00edficos como quartos ou \u00e1gua, no meu Game Engine em C++&#8230;&#8221; &#8212; Gon\u00e7alo Ferreira\" src=\"https:\/\/www.goncalo.pt\/por\/2023\/09\/07\/2023-09-07-luzes-e-sombras-em-locais-especificos-como-quartos-ou-agua-no-meu-game-engine-em-c\/embed\/#?secret=rdz48hi711\" data-secret=\"rdz48hi711\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif\" alt=\"\" class=\"wp-image-2473\" width=\"1138\" height=\"640\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>O pr\u00f3ximo passo que me veio \u00e0 cabe\u00e7a no meu Game Engine: a Noite, e focos de luzes, al\u00e9m de<\/p>\n","protected":false},"author":1,"featured_media":2473,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,284,5,3,134,4,133],"tags":[7,259,118,207,24,23,264,265,263,117,260,281,120,261,262,158,26,25],"class_list":["post-2471","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-game-development","category-platformers","category-programacao","category-projectos","category-retro-gaming","category-softwares","category-video-jogos","tag-c","tag-controlo-de-camera","tag-desenvolvimento-de-jogos","tag-dev","tag-game-dev","tag-game-engine","tag-iluminacao","tag-lighting","tag-luzes","tag-motor-de-jogos","tag-noite","tag-platformer","tag-programacao","tag-shadows","tag-sombras","tag-top-game-engine","tag-videogames","tag-videojogos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>2023-08-14 - Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++... - Gon\u00e7alo Ferreira<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2023-08-14 - Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++... - Gon\u00e7alo Ferreira\" \/>\n<meta property=\"og:description\" content=\"O pr\u00f3ximo passo que me veio \u00e0 cabe\u00e7a no meu Game Engine: a Noite, e focos de luzes, al\u00e9m de\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Gon\u00e7alo Ferreira\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-14T20:54:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-07T02:46:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"377\" \/>\n\t<meta property=\"og:image:height\" content=\"212\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"gnmf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gnmf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/\"},\"author\":{\"name\":\"gnmf\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\"},\"headline\":\"2023-08-14 &#8211; Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++&#8230;\",\"datePublished\":\"2023-08-14T20:54:58+00:00\",\"dateModified\":\"2023-10-07T02:46:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/\"},\"wordCount\":547,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif\",\"keywords\":[\"C++\",\"Controlo de C\u00e2mera\",\"Desenvolvimento de Jogos\",\"Dev\",\"Game Dev\",\"Game Engine\",\"Ilumina\u00e7\u00e3o\",\"Lighting\",\"Luzes\",\"Motor de Jogos\",\"Noite\",\"Platformer\",\"Programa\u00e7\u00e3o\",\"Shadows\",\"Sombras\",\"Top Game Engine\",\"VideoGames\",\"VideoJogos\"],\"articleSection\":[\"Desenvolvimento de Jogos\",\"Platformers\",\"Programa\u00e7\u00e3o\",\"Projectos\",\"Retro Gaming\",\"Softwares\",\"Video Jogos\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/\",\"name\":\"2023-08-14 - Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++... - Gon\u00e7alo Ferreira\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif\",\"datePublished\":\"2023-08-14T20:54:58+00:00\",\"dateModified\":\"2023-10-07T02:46:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#primaryimage\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif\",\"width\":377,\"height\":212,\"caption\":\"2023-08-14 - Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++...\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.goncalo.pt\/por\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2023-08-14 &#8211; Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++&#8230;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"name\":\"Gon\u00e7alo Ferreira\",\"description\":\"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!\",\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\",\"name\":\"Gon\u00e7alo Ferreira\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"width\":389,\"height\":90,\"caption\":\"Gon\u00e7alo Ferreira\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/www.linkedin.com\/in\/GoncaloPT\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\",\"name\":\"gnmf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"caption\":\"gnmf\"},\"sameAs\":[\"http:\/\/www.goncalo.pt\/por\"],\"url\":\"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"2023-08-14 - Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++... - Gon\u00e7alo Ferreira","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/","og_locale":"en_US","og_type":"article","og_title":"2023-08-14 - Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++... - Gon\u00e7alo Ferreira","og_description":"O pr\u00f3ximo passo que me veio \u00e0 cabe\u00e7a no meu Game Engine: a Noite, e focos de luzes, al\u00e9m de","og_url":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/","og_site_name":"Gon\u00e7alo Ferreira","article_published_time":"2023-08-14T20:54:58+00:00","article_modified_time":"2023-10-07T02:46:31+00:00","og_image":[{"width":377,"height":212,"url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif","type":"image\/gif"}],"author":"gnmf","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gnmf","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#article","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/"},"author":{"name":"gnmf","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd"},"headline":"2023-08-14 &#8211; Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++&#8230;","datePublished":"2023-08-14T20:54:58+00:00","dateModified":"2023-10-07T02:46:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/"},"wordCount":547,"commentCount":0,"publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif","keywords":["C++","Controlo de C\u00e2mera","Desenvolvimento de Jogos","Dev","Game Dev","Game Engine","Ilumina\u00e7\u00e3o","Lighting","Luzes","Motor de Jogos","Noite","Platformer","Programa\u00e7\u00e3o","Shadows","Sombras","Top Game Engine","VideoGames","VideoJogos"],"articleSection":["Desenvolvimento de Jogos","Platformers","Programa\u00e7\u00e3o","Projectos","Retro Gaming","Softwares","Video Jogos"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/","url":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/","name":"2023-08-14 - Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++... - Gon\u00e7alo Ferreira","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#primaryimage"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif","datePublished":"2023-08-14T20:54:58+00:00","dateModified":"2023-10-07T02:46:31+00:00","breadcrumb":{"@id":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#primaryimage","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/2023-08-14-Night-and-Light-Focus-features-for-my-Cpp-Game-Engine-Thumb.gif","width":377,"height":212,"caption":"2023-08-14 - Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++..."},{"@type":"BreadcrumbList","@id":"https:\/\/www.goncalo.pt\/por\/2023\/08\/14\/2023-08-14-noite-e-focos-de-luz-novas-features-do-meu-game-engine-escrito-do-0-em-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.goncalo.pt\/por\/"},{"@type":"ListItem","position":2,"name":"2023-08-14 &#8211; Noite e Focos de Luz: novas features do meu Game Engine, escrito do 0 em C++&#8230;"}]},{"@type":"WebSite","@id":"https:\/\/www.goncalo.pt\/por\/#website","url":"https:\/\/www.goncalo.pt\/por\/","name":"Gon\u00e7alo Ferreira","description":"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!","publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.goncalo.pt\/por\/#organization","name":"Gon\u00e7alo Ferreira","url":"https:\/\/www.goncalo.pt\/por\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","width":389,"height":90,"caption":"Gon\u00e7alo Ferreira"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.linkedin.com\/in\/GoncaloPT\/"]},{"@type":"Person","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd","name":"gnmf","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","caption":"gnmf"},"sameAs":["http:\/\/www.goncalo.pt\/por"],"url":"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/"}]}},"_links":{"self":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/2471"}],"collection":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/comments?post=2471"}],"version-history":[{"count":6,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/2471\/revisions"}],"predecessor-version":[{"id":2619,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/2471\/revisions\/2619"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media\/2473"}],"wp:attachment":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media?parent=2471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/categories?post=2471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/tags?post=2471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}