{"id":309,"date":"2026-10-26T11:11:09","date_gmt":"2026-10-26T11:11:09","guid":{"rendered":"https:\/\/thebasicmaterialsproject.com\/?p=309"},"modified":"2026-10-26T11:14:41","modified_gmt":"2026-10-26T11:14:41","slug":"c-with-opengl-on-windows","status":"publish","type":"post","link":"https:\/\/thebasicmaterialsproject.com\/?p=309","title":{"rendered":"C++ with OpenGL on Windows"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Building a simple application with C++ \/openGL and build environment for windows.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Project time  :   2 hours<\/p>\n\n\n\n<hr class=\"wp-block-separator aligncenter has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Goal  :  Build cycle to evolve an openGL based application for windows platform.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The idea is to construct the compile build deploy (release) cycle using openGL as a 3d graphics library.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The idea is to start out small, simple, and once we have got a build cycle going expand out and build up our 3d graphics based application on windows.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Correctly configuring the build cycle is key. Once this is done we will build up out with breadth scope and depth, so that over time we can build up our 3d graphics application and take it into a variety of directions and eventualities.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Next step : Network server awareness with update capacity<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This next step is important for development. We must create an update mechanism. This is preferable at large scale. Although not strictly necessary yet in the early days of a 3d graphics project on windows. Once we avail ourselves of an automatic updates capability we no longer have to keep building from scratch and downloading the full project. Using delta updates (which we discussed in a previous post) this procedure will allow us to keep the size and time taken of updates to a minimum.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Having network server with networked awareness will allow all sorts of value added product features, such as communications and multiplayer\/team play scenarios.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Project Negatives<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Although therefore we would be probably be better just using unreal engine, or Unity, we are doing these quick projects in C++ with OpenGL do demonstrate principles, yes there is a lot of re inventing the wheel, and going over old ground, but that is the point of training and practice.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Project Advantages<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There is a minimum compact form advantage to doing this project, the absence of technicalities makes the project small in terms of data size, and lessens complexity and interdependence, which can take up a lot of time ensuring all of the libraries, frameworks, includes, etc etc are up to date and protected against introducing outside errors and bugs and the difficulties of keeping everything up to date.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1716\" height=\"1022\" src=\"https:\/\/thebasicmaterialsproject.com\/wp-content\/uploads\/2026\/10\/projectclock.png\" alt=\"basic opengl applocation on windows in C++\" class=\"wp-image-311\" srcset=\"https:\/\/thebasicmaterialsproject.com\/wp-content\/uploads\/2026\/10\/projectclock.png 1716w, https:\/\/thebasicmaterialsproject.com\/wp-content\/uploads\/2026\/10\/projectclock-300x179.png 300w, https:\/\/thebasicmaterialsproject.com\/wp-content\/uploads\/2026\/10\/projectclock-1024x610.png 1024w, https:\/\/thebasicmaterialsproject.com\/wp-content\/uploads\/2026\/10\/projectclock-768x457.png 768w, https:\/\/thebasicmaterialsproject.com\/wp-content\/uploads\/2026\/10\/projectclock-1536x915.png 1536w\" sizes=\"auto, (max-width: 1716px) 100vw, 1716px\" \/><figcaption class=\"wp-element-caption\">basic opengl applocation on windows in C++<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Building a simple application with C++ \/openGL and build environment for windows. Project time : 2 hours Goal : Build cycle to evolve an openGL based application for windows platform. The idea is to construct the compile build deploy (release) cycle using openGL as a 3d graphics library. The idea is to start out small, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-309","post","type-post","status-publish","format-standard","hentry","category-uncategorisedblogpost"],"_links":{"self":[{"href":"https:\/\/thebasicmaterialsproject.com\/index.php?rest_route=\/wp\/v2\/posts\/309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thebasicmaterialsproject.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thebasicmaterialsproject.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thebasicmaterialsproject.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thebasicmaterialsproject.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=309"}],"version-history":[{"count":3,"href":"https:\/\/thebasicmaterialsproject.com\/index.php?rest_route=\/wp\/v2\/posts\/309\/revisions"}],"predecessor-version":[{"id":313,"href":"https:\/\/thebasicmaterialsproject.com\/index.php?rest_route=\/wp\/v2\/posts\/309\/revisions\/313"}],"wp:attachment":[{"href":"https:\/\/thebasicmaterialsproject.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thebasicmaterialsproject.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thebasicmaterialsproject.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}