Skip to main content

Book Review: OpenGL SuperBible (5th edition)



I was reading this book in polish, but I think that most of my review is language agnostic as I did not have any problems with the translation.

The book has many authors and you can feel it while reading. Some of the chapters could be more interesting, especially the ones that are really abstract and I am still not sure if I have any idea how buffers work.

I am really glad that I participated in 3D Rendering with Three.js course. It really helped at the beginning of the book where I felt that many nonobvious concepts were not explained thoroughly.

I have to admit that I have watched a really nice video about WebGL while reading this book, and what struck me was how much similarities are between those (I mean while one is in JavaScript other in C++). All you will learn about OpenGL will be useful in WebGL, at least at some point so I am happy that I took the time to read it.



Because of the OpenGL SuperBible I managed to understand most of the talk and it gave me additional motivation to finish it. At the end of the talk are resources for learning WebGL and I hope to go through them this year.

Going back to the book. If you are like me struggling with 3D reading an OpenGL book in your native language is a good idea for a start.

If you want to learn OpenGL from this book and you like C++ then this book is probably for you as well. It teaches some basics of 3D and OpenGL API.

Unfortunately, it is not perfect.  Some chapters are rally hard and the last two chapters seemed really abstract and stuffed with information. I felt like someone was rushing to put as much content into the book as possible. I don't know if the 6th edition fixed those problems.

The book was really good to refresh my knowledge and let more about GLSL.

Rating: 6/10

Comments

Popular posts from this blog

How to simulate slow connection (developer proxy in Node.js)

Update: If you use Chrome then you can use "Throttling" so simulate slow network for all your assets. This should be easier than proxy.


Toggle device modeChoose Network type.Refresh the page




https://developer.chrome.com/devtools/docs/device-mode 



Proxy:



For some time I wanted to use some proxy for development and testing of eg. slow internet connection, but it was hard to find something useful and free. I know there is Charles but buy it to use it at most one in a month is not for me.

I started thinking about Node.js, maybe I can write proxy for me? But fortunately I found one.

https://github.com/nodejitsu/node-http-proxy

With this module I can write really short code to create slow server:


var http = require('http'), httpProxy = require('http-proxy'); httpProxy.createServer(function (req, res, proxy) { var buffer = httpProxy.buffer(req); setTimeout(function () { proxy.proxyRequest(req, res, { host: 'localhost', port: 8080, …

How to use NPM packages from private repositories on bitbucket

Using Node.js you want to use NPM packages for reusable parts of the apps you create, that is a common sense. At the same time not everything makes sense as a public module unfortunately. Right now we are using Bitbucket at work for private repositories but there is a problem. How to use them as NPM modules? We do not want to publish them to the public npmjs.org but still want to have an ability to install them easily.

After googling and experimenting I have found simple solution.
First create new user in your organization with obscure password and give it read access to the repo. It is best to assign really obscure password but do not fool yourself. This is convenient but you must sacrifice security a bit. You should always consider how in your context that would be important.

Change example from below to:
user - username
PASS - password of the user
organization - owner of the project (you can find it in bitbucket url to your project)
project - your project name

"dependencies&…