Comments (2)
If you're generating options then another one is https://github.com/jteeuwen/go-bindata. Unfortunately, it has a disadvantage of yet another build step if someone want's to change the image.
Imho. Info in Readme to cd into the package directory and nice error message if the image is missing would be best as the code will be simpler (easier to understand) and that's the point of the examples.
Btw. It may influence your decision, but how would I generate a distributable version of the example? Having one executable is nice but at the moment, I would need to get executable from bin directory, the image and zip them together... it seems ok for a web application but for desktop applications it would probably make sense to include assets in the binary or have some sort of installer? Just curious.
from example.
@krzychukula, that's a valid suggestion.
In #51, I've improved the error message when failing to find/load the texture assets (since it's a pretty common and realistic error). I've also made it try to change the directory to where the Go package root is on load, which would make it work as long as your GOPATH is set and the Go package is present. I think that should cover most cases and it's a simple, non-intrusive fix.
Let's start with that.
but how would I generate a distributable version of the example?
In that case, you would want to embed the assets somehow. go-bindata is an option, but personally I prefer to use vfsgen
. The general idea is the same, it generates .go file that statically embeds some resources, and the app can load from there instead. For rapid development, a build tag "dev" can be used and have it load directly from disk.
But, that's extra complexity which has a cost, and it's not needed for these examples. But that's what I would suggest doing for a production binary that you want to ship.
from example.
Related Issues (20)
- Go 1.6 -msan option error (memory sanitizer) HOT 6
- build error on OSX, go1.6 HOT 2
- [Question] Unable to run examples, only background windows showing in GL window HOT 4
- multiple contexts HOT 6
- Proposal: Rename repository to "example". HOT 6
- Specify permissive license. HOT 5
- Examples are broken HOT 1
- More information in examples HOT 2
- gl21-cube: Cube in demo appears squashed. HOT 6
- Odd choppiness to animation? HOT 8
- frame rate drops proportionally to number of process instances HOT 5
- Handle leak on Windows at SetSize? HOT 4
- fatal error: checkptr: unsafe pointer arithmetic on Go 1.14rc1 HOT 1
- Re: github.com/go-gl/example/gl41core-cube/cube.go HOT 1
- Can I render a webpage at the window HOT 1
- c:\go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1 HOT 1
- gl.GenTextures
- Error when binding in loop HOT 1
- Cel Shader Example HOT 2
- forcing internal link mode on macOS causes "unexpected reloc for dynamic symbol" link errors HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from example.