{"id":1325,"date":"2021-06-03T07:19:00","date_gmt":"2021-06-03T07:19:00","guid":{"rendered":"http:\/\/www.goncalo.pt\/por\/?p=1325"},"modified":"2023-10-07T03:09:43","modified_gmt":"2023-10-07T03:09:43","slug":"2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d","status":"publish","type":"post","link":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/","title":{"rendered":"2021-06-03 &#8211; Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D&#8230;"},"content":{"rendered":"\n<p>&#8220;Apenas cubos&#8221;, poder\u00e3o voc\u00eas pensar! Mas h\u00e1 muito mais aqui do que imaginam&#8230;<\/p>\n\n\n\n<p>Estes cubos s\u00e3o o primeiro passo para a adapta\u00e7\u00e3o do meu game engine de 2D para 3D tamb\u00e9m.<\/p>\n\n\n\n<p>E important\u00edssimo, a renderiza\u00e7\u00e3o e c\u00e1lculos 3D, s\u00e3o feitos todos \u00e0 pata, n\u00e3o usei o OpenGL para nada. Com o OpenGL seria muito mais f\u00e1cil, pois com ele, podemos desenhar formas, e usar fun\u00e7\u00f5es dele para rodar objectos, etc.<\/p>\n\n\n\n<p>Aqui \u00e9 tudo feito do zero \u00e0 pata.<\/p>\n\n\n\n<p>E porqu\u00ea 3D? Porque, as simula\u00e7\u00f5es de gal\u00e1xias da NASA s\u00e3o em 3D, e apesar de n\u00e3o ter super computadores, ao menos visualmente h\u00e3o-de ficar parecidas, por isso tenho de adaptar o meu game engine a 3D, para usar com elas.<\/p>\n\n\n\n<p>&#8220;E porqu\u00ea \u00e0 pata?&#8221; Poder\u00e3o voc\u00eas perguntar, ser\u00e1 por ser masoquista?<\/p>\n\n\n\n<p>Ainda por cima porque tive de usar vectores 3D e n\u00e3o apenas 2D, muitas matrizes para c\u00e1lculo espacial, muita trigonometria, rota\u00e7\u00f5es, escalar objectos para aproxima\u00e7\u00f5es, \u00e2ngulos de vis\u00e3o, etc (nem tudo est\u00e1 completo ainda).<\/p>\n\n\n\n<p>\u00c9 que com XY, ou se move e roda em 2D ou n\u00e3o. Em 3D pode rodar de 1001 maneiras diferentes e isso envolve muita Matem\u00e1tica, pois al\u00e9m do XY que roda para um lado ou outro, com 3D roda em mil direc\u00e7\u00f5es diferentes, no sentido dos ponteiros do rel\u00f3gio ou invertido, mas na direc\u00e7\u00e3o da frente, ou Norte, ou Sul, ou etc, h\u00e1 1001 combina\u00e7\u00f5es (imaginem as formas de rodar um disco de vinyl, que \u00e9 2D e s\u00f3 tem duas, e rodar uma esfera, que tem muitas).<\/p>\n\n\n\n<p>Mas porqu\u00ea \u00e0 pata?<\/p>\n\n\n\n<p>O desafio \u00e9 importante, mas tem a ver com outras coisas&#8230;<\/p>\n\n\n\n<p>1 &#8211; Se usasse o OpenGL, teria de usar depois o OpenGL em todo o game engine, adapt\u00e1-lo em 200 e tal ficheiros onde n\u00e3o o uso (por fazer tudo \u00e0 pata), e isso lixaria o 2\u00ba ponto que falo abaixo;<\/p>\n\n\n\n<p>2 &#8211; Eu evito usar o OpenGL, porque estou a pensar que talvez um dia possa usar o meu Game Engine para migrar jogos que fa\u00e7a agora, para m\u00e1quinas antigas, onde n\u00e3o existia o Open GL, como Commodores Amiga, etc. E se fizer \u00e0 pata, depois posso migrar para elas tamb\u00e9m!<\/p>\n\n\n\n<p>H\u00e1 uma poss\u00edvel desvantagem! N\u00e3o tirarei proveito ao m\u00e1ximo das placas aceleradoras, porque fa\u00e7o a renderiza\u00e7\u00e3o \u00e0 pata (usando o CPU) e n\u00e3o tanto os chips das gr\u00e1ficas.<\/p>\n\n\n\n<p>Mas como n\u00e3o tenciono criar jogos super pesados em 3D, duvido que v\u00e1 precisar, e se um dia criar, posso sempre usar para certas coisas.<\/p>\n\n\n\n<p>Mas vou tentar usar as mesmas com c\u00e1lculos adaptados a usar os chips o mais poss\u00edvel.<\/p>\n\n\n\n<p>Talvez quando isto funcionar e tiver gal\u00e1xias em 3D, talvez fa\u00e7a uma vers\u00e3o do &#8220;Death Chase&#8221; do Spectrum para PC, em 3D, para me entreter.<\/p>\n\n\n\n<p>Aten\u00e7\u00e3o que o meu objectivo n\u00e3o \u00e9 imitar o Unity, um motor de jogos super pesado e super completo, que at\u00e9 um asno consegue l\u00e1 criar jogos.<\/p>\n\n\n\n<p>O meu ser\u00e1 o mais leve poss\u00edvel e para mim mesmo (mas j\u00e1 vai com 200 ficheiros em 2D). N\u00e3o \u00e9 para uso de terceiros, s\u00f3 colocarei o 3D necess\u00e1rio.<\/p>\n\n\n\n<p>Depois tentarei ler ficheiros object de 3D, e renderizar com cores, etc.<\/p>\n\n\n\n<p>Fiz experi\u00eancias como podem ver na imagem com luz, e ver onde bate, etc, e depois tenho de mostrar os objectos que est\u00e3o \u00e0 vista, etc.<\/p>\n\n\n\n<p>Isto tem c\u00e1lculo de perspectiva, \u00e2ngulo, rota\u00e7\u00e3o de objectos, 1001 coisas, e isto \u00e9 tudo pura Matem\u00e1tica.<\/p>\n\n\n\n<p>Mas as coisas mais usadas s\u00e3o Trigonometria, Vectores, Matrizes, talvez.<\/p>\n\n\n\n<p>Enfim, se n\u00e3o gostarem de Matem\u00e1tica, seria chato para v\u00f3s.<\/p>\n\n\n\n<p>A m\u00e1quina est\u00e1 super lenta (ainda n\u00e3o fui buscar a m\u00e1quina nova), est\u00e1 a uns 400 Mhz lent\u00edssimos, mas roda centenas de cubos 3D na boa, afinal de contas \u00e9 C++.&nbsp;<img loading=\"lazy\" decoding=\"async\" height=\"16\" width=\"16\" alt=\"?\" src=\"https:\/\/www.facebook.com\/images\/emoji.php\/v9\/t20\/1\/16\/1f61c.png\"><\/p>\n\n\n\n<p>Isto j\u00e1 faz muito mais do que desenhar simples cubos, s\u00f3 os meti porque s\u00e3o o teste mais b\u00e1sico que existe, primeiro desenhar pontos (porque ver p\u00edxeis no ecr\u00e3 inicialmente \u00e9 dif\u00edcil, t\u00eam de ser bolinhas), depois unir com tra\u00e7os, depois trabalhar nas rota\u00e7\u00f5es, e perspectivas, etc.<\/p>\n\n\n\n<p>Um dia mostro mais novidades, e talvez gal\u00e1xias em 3D.&nbsp;<img loading=\"lazy\" decoding=\"async\" height=\"16\" width=\"16\" alt=\"?\" src=\"https:\/\/www.facebook.com\/images\/emoji.php\/v9\/t9f\/1\/16\/1f61b.png\"><\/p>\n\n\n\n<p>Afinal de contas, o meu lema \u00e9 &#8220;Se \u00e9 poss\u00edvel, eu consigo!&#8221; e se a NASA faz, \u00e9 \u00f3bvio que tamb\u00e9m farei. Com a diferen\u00e7a de que n\u00e3o tenho super-computadores, terei de fazer c\u00e1lculos s\u00f3 com objectos super massivos e n\u00e3o com as estrelas todas (milh\u00f5es). N\u00e3o ser\u00e3o simula\u00e7\u00f5es super realistas, mas espero que fiquem bonitas.&nbsp;<img loading=\"lazy\" decoding=\"async\" height=\"16\" width=\"16\" alt=\"?\" src=\"https:\/\/www.facebook.com\/images\/emoji.php\/v9\/t51\/1\/16\/1f603.png\"><\/p>\n\n\n\n<p>2021-06-03.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Apenas cubos&#8221;, poder\u00e3o voc\u00eas pensar! Mas h\u00e1 muito mais aqui do que imaginam&#8230; Estes cubos s\u00e3o o primeiro passo para<\/p>\n","protected":false},"author":1,"featured_media":1326,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,21,5,3,4,291,133],"tags":[176,7,118,207,24,23,117,120,26,25],"class_list":["post-1325","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-game-development","category-matematica","category-programacao","category-projectos","category-softwares","category-um-dia-3d","category-video-jogos","tag-3d","tag-c","tag-desenvolvimento-de-jogos","tag-dev","tag-game-dev","tag-game-engine","tag-motor-de-jogos","tag-programacao","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>2021-06-03 - Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D... - 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\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2021-06-03 - Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D... - Gon\u00e7alo Ferreira\" \/>\n<meta property=\"og:description\" content=\"&#8220;Apenas cubos&#8221;, poder\u00e3o voc\u00eas pensar! Mas h\u00e1 muito mais aqui do que imaginam&#8230; Estes cubos s\u00e3o o primeiro passo para\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/\" \/>\n<meta property=\"og:site_name\" content=\"Gon\u00e7alo Ferreira\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-03T07:19:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-07T03:09:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/06\/2021-06-03-11h4-FIM-DO-DIA-GAME-ENGINE-3D-UNIVERSE-Screenshot_20210603_111433.png?v=1631287756\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/\"},\"author\":{\"name\":\"gnmf\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\"},\"headline\":\"2021-06-03 &#8211; Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D&#8230;\",\"datePublished\":\"2021-06-03T07:19:00+00:00\",\"dateModified\":\"2023-10-07T03:09:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/\"},\"wordCount\":809,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/06\/2021-06-03-11h4-FIM-DO-DIA-GAME-ENGINE-3D-UNIVERSE-Screenshot_20210603_111433.png?v=1631287756\",\"keywords\":[\"3D\",\"C++\",\"Desenvolvimento de Jogos\",\"Dev\",\"Game Dev\",\"Game Engine\",\"Motor de Jogos\",\"Programa\u00e7\u00e3o\",\"VideoGames\",\"VideoJogos\"],\"articleSection\":[\"Desenvolvimento de Jogos\",\"Matem\u00e1tica\",\"Programa\u00e7\u00e3o\",\"Projectos\",\"Softwares\",\"Um Dia - 3D\",\"Video Jogos\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/\",\"name\":\"2021-06-03 - Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D... - Gon\u00e7alo Ferreira\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/06\/2021-06-03-11h4-FIM-DO-DIA-GAME-ENGINE-3D-UNIVERSE-Screenshot_20210603_111433.png?v=1631287756\",\"datePublished\":\"2021-06-03T07:19:00+00:00\",\"dateModified\":\"2023-10-07T03:09:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#primaryimage\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/06\/2021-06-03-11h4-FIM-DO-DIA-GAME-ENGINE-3D-UNIVERSE-Screenshot_20210603_111433.png?v=1631287756\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/06\/2021-06-03-11h4-FIM-DO-DIA-GAME-ENGINE-3D-UNIVERSE-Screenshot_20210603_111433.png?v=1631287756\",\"width\":1920,\"height\":1080,\"caption\":\"2021-06-03 - Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D...\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.goncalo.pt\/por\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2021-06-03 &#8211; Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D&#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":"2021-06-03 - Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D... - 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\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/","og_locale":"en_US","og_type":"article","og_title":"2021-06-03 - Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D... - Gon\u00e7alo Ferreira","og_description":"&#8220;Apenas cubos&#8221;, poder\u00e3o voc\u00eas pensar! Mas h\u00e1 muito mais aqui do que imaginam&#8230; Estes cubos s\u00e3o o primeiro passo para","og_url":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/","og_site_name":"Gon\u00e7alo Ferreira","article_published_time":"2021-06-03T07:19:00+00:00","article_modified_time":"2023-10-07T03:09:43+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/06\/2021-06-03-11h4-FIM-DO-DIA-GAME-ENGINE-3D-UNIVERSE-Screenshot_20210603_111433.png?v=1631287756","type":"image\/png"}],"author":"gnmf","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gnmf","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#article","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/"},"author":{"name":"gnmf","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd"},"headline":"2021-06-03 &#8211; Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D&#8230;","datePublished":"2021-06-03T07:19:00+00:00","dateModified":"2023-10-07T03:09:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/"},"wordCount":809,"commentCount":0,"publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/06\/2021-06-03-11h4-FIM-DO-DIA-GAME-ENGINE-3D-UNIVERSE-Screenshot_20210603_111433.png?v=1631287756","keywords":["3D","C++","Desenvolvimento de Jogos","Dev","Game Dev","Game Engine","Motor de Jogos","Programa\u00e7\u00e3o","VideoGames","VideoJogos"],"articleSection":["Desenvolvimento de Jogos","Matem\u00e1tica","Programa\u00e7\u00e3o","Projectos","Softwares","Um Dia - 3D","Video Jogos"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/","url":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/","name":"2021-06-03 - Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D... - Gon\u00e7alo Ferreira","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#primaryimage"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/06\/2021-06-03-11h4-FIM-DO-DIA-GAME-ENGINE-3D-UNIVERSE-Screenshot_20210603_111433.png?v=1631287756","datePublished":"2021-06-03T07:19:00+00:00","dateModified":"2023-10-07T03:09:43+00:00","breadcrumb":{"@id":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#primaryimage","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/06\/2021-06-03-11h4-FIM-DO-DIA-GAME-ENGINE-3D-UNIVERSE-Screenshot_20210603_111433.png?v=1631287756","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/06\/2021-06-03-11h4-FIM-DO-DIA-GAME-ENGINE-3D-UNIVERSE-Screenshot_20210603_111433.png?v=1631287756","width":1920,"height":1080,"caption":"2021-06-03 - Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D..."},{"@type":"BreadcrumbList","@id":"https:\/\/www.goncalo.pt\/por\/2021\/06\/03\/2021-06-03-comeco-da-migracao-do-meu-game-engine-em-c-c-para-3d\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.goncalo.pt\/por\/"},{"@type":"ListItem","position":2,"name":"2021-06-03 &#8211; Come\u00e7o da migra\u00e7\u00e3o do meu Game Engine em C\/C++ para 3D&#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\/1325"}],"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=1325"}],"version-history":[{"count":1,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/1325\/revisions"}],"predecessor-version":[{"id":1327,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/1325\/revisions\/1327"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media\/1326"}],"wp:attachment":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media?parent=1325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/categories?post=1325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/tags?post=1325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}