Learn Opengl Golang

文章推薦指數: 80 %
投票人數:10人

OpenGL Tutorial in Go. Based on the excellent tutorial by Joey de Vries; uses go-gl for all OpenGL Go bindings. Installation. AwesomeOpenSourceAwesomeOpenSourceLearnOpenglGolangLearnOpenGLTutorialsinGoStars60LicenseNolicensespecifiedOpenIssues2MostRecentCommit3yearsagoRepoRelatedProjectsGoProjects(195,284)GolangProjects(32,887)OpenglProjects(3,743)GlslProjects(2,845)Glfw3Projects(101)AssimpProjects(77)OpenglTutorialProjects(46) OpenGLTutorialinGo BasedontheexcellenttutorialbyJoeydeVries usesgo-glforallOpenGLGobindings Installation ThisissetuphasonlybeentestedonmacOS. Iamcurrentlyworkingwiththe4.1coreprofileonmacOS,whichisthelatestversionthatshipswithit.Ididn'twanttodelveintoupgradingthatmanually. IfiguredIwouldgetlinuxmachineatalatertimeifIneededtousenewerfeaturesintheAPI. Thenicethingaboutgo-glisthatyoucaninstallmultipleprofilesandwritedifferentprogramstargetingdifferentversionofOpenGL. go-glpackages 1-gl-OpenGLcoreprofilev4.1 goget-ugithub.com/go-gl/gl/v4.1-core/gl 2-Glow-GobindinggeneratorforOpenGL gogetgithub.com/go-gl/glow cd$GOPATH/src/github.com/go-gl/glow gobuild ./glowdownload ./glowgenerate-api=gl-version=4.1-profile=core-remext=GL_ARB_cl_event #theprofileisnowinstalledinagldirectory goinstall./gl 3-GLFW3.2-GobindingsforGLFW3 goget-ugithub.com/go-gl/glfw/v3.2/glfw 4-MathGL-ApureGo3Dmathlibrary gogetgithub.com/go-gl/mathgl/... ThispackageistheequivalentoftheGLMlibraryandprobablyhasallthefunctionalitybutaftersomedifferences. Ididntdivetoodeepintoit,butIamgettingdifferentmatriceswhenrunningthesamesampleinC++withglmvsGowithmgl32. Totestthattheinstallationisworking,trytheexamplesfromgo-gl. gogetgithub.com/go-gl/example cd$GOPATH/src/github.com/go-gl/example gorungl41core-cube/cube.go learnopengl.comtutorial 1-assimp-GowrapperofAssimp First,installAssimponmacOSusinghomebrewbrewinstallassimp Theninstallwrapper,gogetgithub.com/raedatoui/assimp 2-glutils Someoftheutllitiesdevelopedthroughoutthetutorialslikeshadercompilationandlinking,camera,loadingtextures,loadingmodelsfromassimp,otherredundantGLcommands,etcwerepackagedtogether.Initially,theselivedwithinthetutorialrepoastheutilspackageandwelatermovedtoadedicatedrepointhehopeofbeingusefulforotherprojects. gogetgithub.com/raedatoui/glutils 3-glfont-Amodernopengltextrenderinglibraryforgolang gogetgithub.com/raedatoui/glfont ImademinorchangestothispackagewhereIusetheshaderfunctionsfromtheglutilspackageandIexplicitlysettheprofileversionintheimportsto4.1inteadofall-core Textrenderingsucksandisnotintendedtolookgood,butgoodenoughandeasytouseforthesakeofthistutorial. Run gogetgithub.com/raedatoui/learn-opengl-golang cd$GOPATH/src/github.com/raedatoui/learn-opengl-golang goruntutorial.go andyoushouldseethisscreen Usetherightandleftarrowkeystonavigatethroughthetutorials. Usethenumkeystojumpbetweensections. Notes Whenconfiguringvertexattributearrays,thestrideiscalculatedusingthesizeof afloat32type. sizeof(GLfloat)is4,float32 sizeofuint32-4 GetAWeeklyEmailWithTrendingProjectsForTheseTopicsNoSpam.Unsubscribeeasilyatanytime.Go(195,284) Golang(32,887) Opengl(3,743) Glsl(2,845) Glfw3(101) Assimp(77) OpenglTutorial(46) RelatedProjectsOpenglGlslProjects(333)OpenglGlfw3Projects(77)GoOpenglProjects(73)OpenglAssimpProjects(35)GoGlslProjects(12)GlslGlfw3Projects(9)GoOpenglGlslProjects(8)OpenglGlslGlfw3Projects(8)OpenglGlslAssimpProjects(6)GlslAssimpProjects(6)OpenglGlfw3AssimpProjects(5)GoGlfw3Projects(3)GoOpenglTutorialProjects(3)GlslOpenglTutorialProjects(2)GoOpenglGlfw3Projects(2)Advertising📦 9AllProjectsApplicationProgrammingInterfaces📦 120Applications📦 181ArtificialIntelligence📦 72Blockchain📦 70BuildTools📦 111CloudComputing📦 79CodeQuality📦 28Collaboration📦 30CommandLineInterface📦 48Community📦 81Companies📦 60Compilers📦 60ComputerScience📦 74ConfigurationManagement📦 39ContentManagement📦 167ControlFlow📦 197DataFormats📦 77DataProcessing📦 266DataStorage📦 132Economics📦 60Frameworks📦 198Games📦 122Graphics📦 103Hardware📦 148IntegratedDevelopmentEnvironments📦 47LearningResources📦 147Legal📦 28Libraries📦 119ListsOfProjects📦 21MachineLearning📦 336Mapping📦 61Marketing📦 15Mathematics📦 55Media📦 228Messaging📦 97Networking📦 304OperatingSystems📦 84Operations📦 120PackageManagers📦 52ProgrammingLanguages📦 229RuntimeEnvironments📦 96Science📦 42Security📦 375SocialMedia📦 26SoftwareArchitecture📦 70SoftwareDevelopment📦 68SoftwarePerformance📦 57SoftwareQuality📦 127TextEditors📦 45TextProcessing📦 131UserInterface📦 310UserInterfaceComponents📦 465VersionControl📦 29Virtualization📦 68WebBrowsers📦 38WebServers📦 25WebUserInterface📦 194Privacypolicy"LearnOpenglGolang"andotherpotentiallytrademarkedwords,copyrightedimagesandcopyrightedreadmecontentslikelybelongtothelegalentitywhoownsthe"Raedatoui"organization.AwesomeOpenSourceisnotaffiliatedwiththelegalentitywhoownsthe"Raedatoui"organization.AllnonreadmecontentsorGithubbasedtopicsorprojectmetadatacopyrightAwesomeOpenSource 2018-2021



請為這篇文章評分?