Best computer graphics & design books according to redditors

We found 938 Reddit comments discussing the best computer graphics & design books. We ranked the 358 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Subcategories:

Rendering & ray tracing books
Website usability books
Desktop publishing books
Electronic documents books
3D graphic design books

Top Reddit comments about Computer Graphics & Design:

u/Esfahen · 74 pointsr/space

A bit of homework, but Ray Tracing in One Weekend is legendary (and free).

Disney’s short video on pathtracing can also help explain some concepts.

Another important thing is understanding the intersection that raytracing has with rasterization, since that is what consumers are seeing now with the new Turing cores. What the difference is, why people should care, etc.

It’s funny, I have been reading a lot online and observing people’s reactions to the new cards- and most of the backlash simply comes from not understanding what raytracing is. For graphics engineers in the industry, rasterizers (as brilliant as they are) always feel like a hack at some point or another- ray tracing is “the right way”, and that has us very excited

u/meliko · 27 pointsr/AskReddit

Depends on what you want to do — UX is a pretty broad field. I'm a user interface designer with a UX background, which means I've designed sites, web apps and mobile apps, but there's plenty of UX positions that don't require any sort of visual design or front-end development experience.

For example, there are labs that conduct user research and interviews, run focus groups, or do user testing. Hell, you could even apply to be a user tester at a site like usertesting.com. Not sure how much money you can make from that, but it's something.

Also, there are UX positions that go from beginning research and discovery for projects up through the wireframing, which doesn't require any visual design experience. You'll usually hand off your UX work to a designer or a developer to implement.

Some good books to read about UX are:

u/H3g3m0n · 22 pointsr/learnprogramming

Recently OpenGL has been updated and unfortunately the non-shader stuff is now all deprecated which will be quite a bit of what you learned (but having that understanding is useful). OpenGL is split into the 'core profile' and the 'compatibility profile'. The OpenGL Core Profile, OpenGL ES and WebGL all use the same methods so learning any of them should give you a firm grounding in the others.

So it might be worth while having a crack at learning some of the 'modern' OpenGL 3.x/4.x core profile techniques. That will include shaders.

Most of the new stuff drastically reduces what OpenGL itself is responsible for. It becomes more of a glue layer to bridge between your programs and the video card drivers/hardware. As such the programmer is responsible for just about everything and has more work but the end result is much more efficient and flexible.

The old stuff is known as the 'fixed function pipeline' as OpenGL is responsible for defining a fixed ruleset as to how a vertex is turned into pixels on the screen including translations, lighting and so on. The new way is the 'programmable rendering pipeline' which just gives you the glue functions and leaves it up to you to write the code to turn vertex data into pixels on the screen.

Trying to learn how to do a complete core profile application all at once can be a bit much since there are many different areas that need to be simultaneously integrated and a failure in any one can just leave you with a black screen and no clue what's broken, so it's generally a good idea to split it up into a few different components and learn 1 bit at a time and build up from compatibility profile into the core profile.

Rather than give specific resources ill give you an overall battle plan and what stuff is called so you can google it and find all the resources.

The main problem with the outline is it sounds like your course is learning the 'old' way even when it comes to the shaders.

Matrices

If you understand transform matrices, modify your code to stop using the OpenGL matrix functions (glPushMatrix, glPopMatrix, glRotate, glTranslate, glScale, glFrustrum, gluPerspective, glLoadIdentity, glMatrixMode, glOrthagonal, gluLookAt). All the matrix operations have been deprecated in the OpenGL Core Profile. There are 2 ways to do this. Either you will need to write your own matrix functions for the above which can be a handy learning experience but time consuming and really requiring an indepth understanding of the matrix stuff. Or alternatively you can look at using the GLM library (it's part of the recommended libraries in the OpenGL SDK (which is just a collection of recommended practices rather than a real SDK but it's about as close to 'official' as you will get), it is a C++ library so if your programming in something else you might have to look around for something similar). At this point you will need to load your resulting matrices with glLoadMatrix, this function is also deprecated but it's worth using at this stage. Later on you will learn how to 'bind' your matrices with your shader programs.

VBOs

Secondly learn 'Vertex Buffer Objects'. The old way of doing things was to use (glBegin, glEnd, glVertex, glNormal, glColor, glTexCoord, glMultiTexCoord which are now all deprecated). That way involves pushing vertices and their attributes one at a time which is very slow. The new way involves putting all that data into an array and 'uploading' it to the video card's internal memory then just calling a function to draw it all at once.

Vertex buffer objects are part of both the 'old' way and the 'new' way. The difference is how they are implemented.

In the old way you set a special vertex pointer that informs OpenGL you want to mark that memory as vertex data, and other dedicated pointers for normals, color, texcoords and so on. Then your shaders in GLSL have special, dedicated variable names to access that data (gl_Vertex, gl_Normal) If you are doing VBO's befoure you have written your own shaders you will probably need to do it this way. Those functions are glEnableClientState(GL_VERTEX_ARRAY), glVertexPointer (..) and so on.

With the new way you use what are called Vertex Attributes. Basically OpenGL treats all your vertex data as raw data rather than giving it any special significance. It doesn't care if you have vertex positions, colours, texture coordinates, lighting normals. You can even make your own nonstandard stuff like temperature which you could use for doing infrared or velocity to handle some kind of pervertex speed distortion. You then 'bind' this data to your shader program and
you* give it the significance.

Shaders
Shaders are really several topics.

  • OpenGL's shader API. How you load, link and compile shaders and how you bind data to the shaders variables. Also how you can pull up log information to see why it didn't compile.
  • GLSL The languages itself, not too complex since it's like C/C++.
  • Algorithms This is the complicated mathematical stuff. To begin what you will want to learn is how you calculate basic shading. There are different shading algorithms. Lambert, Blinn, Phong, Blinn-Phong, Gouraud. They can be done either pervertex (this looks splotchy or 'starry' unless you have really large numbers of polygons on your meshes) or perpixel (better quality and most modern hardware is fast enough to handle it). The fixed function pipeline uses Gouraud shading pervertex when glShadeModel(GL_SMOOTH) is enabled if you just want to emulate that. I recommend you look at Blinn perpixel.

    Once you are doing shaders you can start binding Vertex Attributes rather than using the fixed specialized VertexAttribPointers.

    Basic texturing is really dead easy and will be done in the shaders. All you are doing it basically giving coordinates to map a triangle to a 1.0 x 1.0 square. Then you pick the color at that point and multiply it by the shading color.

    The main problem with shaders is they are too flexible. There is no standardized way to do anything. For your lighting do you just want 1 or 2 basic fixed lights that might just have a position, or do you want an array of structs for multiple complex lights. Do you want 1 basic flat image texture, or do you want a a few image textures, a normal map texture (for bump mapping), another one for self illumination.

    Then there is the really complex stuff. Bloom, HDR lighting, Ambient occlusion, various antialiasing techniques (MSAA, FSAA, etc...), parallax occlusion mapping, various shadow techniques, multipass rendering, deferred rendering. Techniques for order independent transparency (so you don't have to render transparenct polygons in a specific order). I don't recommend you try any of that stuff but do google the descriptions of what they are.


    Books

    Buy a book or 2. (or download them if your cheap).

    To be honest I haven't really read most of these books, just flipped though them and tend to google for the specific topic I want. But they are recommended often enough and I would like to get around to actually reading them properly.

  • The OpenGL Programming Guide - Also known as 'The Red Book'. This is the modern version of the 'guide' you had listed above, updated for newer versions of OpenGL. It's normally the goto learning OpenGL book. But I actually advice you to avoid it at this stage. Basically while the latest 7th edition has been updated for the new versions of OpenGL it's only very superficially covered and the tutorials all use compatibility profile stuff they just point out that it's deprecated. There is a new 8th edition coming in May 2012 that is supposed to cover the new stuff better. With that said the 7th should still do for things like shaders without problems. It's somewhat harder that other learning resources.

  • OpenGL Shading Language - Also known as 'The Orange Book'. This teaches you GLSL and hopefully the shading algorithms. linky.

  • OpenGL ES 2.0 Programming Guide - You mentioned doing OpenGL ES. This should help you with normal OpenGL as OpenGL ES is the subset of OpenGL that removes the fixed function pipeline. link.

  • OpenGL SuperBible - 5th edition - This teaches the new core profile. It covers things like vertex buffer objects, shaders and so on. The main draw back is at the start it does it by including a set of helper crutch libraries but as you progress you learn to implement their functionality yourself. Linky.
u/ilikeUXandicannotlie · 15 pointsr/userexperience

Here are some things I (and I know others) have struggled with. I think the web is exploding with resources and information, so I don’t necessarily think we need to explain what a prototype is. There’s better places elsewhere to learn things about UX, but I think we could provide some good resources for not just people new to UX but everyone else too. I’m coming at this from what I wished I would have access to when I was trying to get into the field. I know that /u/uirockstar has some good walls of text that probably should be included as well. Feel free to suggest any changes to what I have here.




I really want to begin a career in UX/UI. What do I do?


Well, first it’s important to know that UX and UI are not synonymous. While many job postings combine them, UI is a subset of UX, just as research and information architecture are. UI is still important and if you can do both, you do increase your value. While many see UX as a research field at its core, the UX/UI title implies that it’s only about creating pretty things.

The first step is learning more about the field, which brings us to…



What kind of education do I need?


If you are still in school, there are more places recently that are offering courses in human-computer interaction. You can even try to create your own internships. There are very few UX specific schools, though they are starting to pop up, like Center Centre and General Assembly.



Yeah, yeah, that’s great. But I already graduated, so where do I start?


Any focus on people or technology can act as a solid foundation for learning UX. Because there has never been a set entrance path into the field, UX roles are filled with people from many different backgrounds. The most common degrees for those in the field though are design, psychology, communications, English, and computer science. link

There are a number of people in the field who are self-taught. There are tons of books, blogs, and designers (here are some helpful resources) which provide enough UX stuff to keep us all busy. When I first started reading about it, I quickly got overwhelmed because there was so much information available and most of it was intended for those who already had a pretty good grasp on things. The Hipper Element’s crash courses in UX and user psychology are great places to get a fairly quick overview.

There are books like The Design of Everyday Things by Donald Norman, 100 Things Every Designer Needs to Know About People by Susan Weinschenk and Don’t Make Me Think by Steve Krug that make for great first books.

UX Mastery has a great eBook for getting started, appropriately titled Getting Started in UX. Kevin Nichols’ UX for Dummies is both very readable, yet detailed. You can even buy the eBook if you don’t want people on the bus to think you’re a “dummy.”

Lastly, Fred Beecher has a very extensive Amazon list of recommended UX books, depending on what area you are looking to learn more about.



Great. I’ve read a whole bunch of stuff and have a pretty good idea how UX works. Now how do I get someone to hire me so I can gain experience?


Hey, easy there. While, yes, there are lots of UX jobs out there, very few are entry level and not many employers will hire someone who has only read about it and not actually done it. You can’t get a job without experience and you can’t get experience without a job. I know. Frustrating, right?

You have to prove that you can do it. One way to do this is site redesigns.

Go find a website that lacks in it’s user experience and figure out how to fix it. Maybe it’s a small business down the street from you or maybe it’s a feature on eBay you think could be better. Redesigning sites is a good way to practice a process and make mistakes on your own time. If you can involve the owner from that small business down the street, that’s even better because then you can get a sense of the customers (users) that you will be designing for.

Once you have done this, you have (some) experience! Start a portfolio and add to it!



But I have a resume. Why do I need a portfolio?


Resumes are great. But resumes won’t get you a job starting out. It’s a million times more effective to show potential employers what you have done, rather than showing them a resume showcasing that you are a team player and proficient in Microsoft Office. But you should still have a resume that outlines your UX skills.



But I’ve never worked in UX! What should I put on my resume?


You don’t need to put all of your old jobs on your resume if they are unrelated to the field. Most places still want to see some work history so they know you haven’t been living in a cave for the last four years, but they don’t care about how you sold vacuum cleaners or trained circus horses. Maybe you can relate some crossover UX skills to your previous work.

Back to portfolios. They are a lot like elementary math class in that you want to show your work. Potential employers are much more interested in how you made a design decision rather than the final result. If your portfolio just has a bunch of fancy wireframes, that doesn’t tell them how you took specific personas into account and you are simply showing them something that looks pretty. And just because it looks pretty doesn’t always mean it makes sense.



Okay. I have a portfolio with a few unsolicited site redesigns in it.


Congratulations! But I have some bad news. Are you sitting down?

No one wants to hire you yet. You haven’t worked on any “actual” projects that showed how your UX skillz helped a business. I know I suggested you do site redesigns to get practice and you should because that is work you can take to a nonprofit or another small business and say, “here are some trial runs that I’ve done that prove I know what I’m doing and now I can help you for free in exchange for adding it to my portfolio.”

They’ll probably be skeptical and say, “hmmm… I don’t think my website needs this newfangled user experience you speak of and—wait did you say free?”

You both get something out of it and you’re doing it pro bono, which relieves you the pressure of making one tiny mistake. (There is a great site called Catchafire that matches non-profits all over the country with people looking to donate their time and skills.)

Once you have a portfolio displaying your work and some experience, start applying! But there is one more aspect that goes into getting hired and that is the people who will hire you.




Ugh, but isn’t networking just using people for my own professional gain?


I had this same mindset and it probably delayed my entrance into the field. I wanted to rely only on the quality of my work and trusted the rest would follow. I avoided networking and meeting people in the field because I didn’t want it to seem like I was only mooching for a job.

But the fact is people are altruistic in nature and like helping others. Many people also enjoy talking about themselves, and those are the two main principles of an informational interview. You’ll also find that people are excited to help others get started since they remember how difficult it was (see: this blog post).

It wasn’t until I started getting those informational interviews and talking with people at UXPA and MeetUp groups that I learned another side of UX, but also got more familiar with more hiring managers or those that knew them. Whenever possible, people will hire those they know and like. Until you get out and start shaking hands and kissing babies, you will be just another faceless name in a stack of resumes.

Meeting with recruiters/staffing agencies is also a good route as they make money by finding you a job, so they have a vested interest in giving you constructive criticism.




I've heard that you have to live in a big city to get a job in UX.


Move. Just kidding. But while it’s true that larger cities like New York, San Francisco, and Seattle are full of opportunities, there are plenty of other places around the country that have jobs. Here are the top 20. If you live in a tiny city, expect a tougher time finding a position.



Okay, I got an interview. How do I not mess this up?


Some great advice is to go all UX on your preparation and treat the interviewer like a user.

.......to be continued.



Blogs:

u/Call_Me_Senry · 12 pointsr/GifRecipes

No, those are great ideas. I'm only learning myself but the development was kind of a "just one more feature" kind of deal. It's probably not a good idea to learn from me but heres the book I used.

u/dzjay · 12 pointsr/androiddev

If you're already familiar with Java I recommend Android Programming: The Big Nerd Ranch Guide. You can find more suggestions on the wiki.

u/vblanco · 11 pointsr/gamedev

Dont listen to the people that comment about not making your engine. Making one is a great learning excersise and highly recomended to become a better developer.

I recomend you make sure your C++ is on point, and check this books:

  • Game Engine Architecture Link : Overview of more or less anything about how a entire game engine works. Written by a lead at Naughty Dog and highly educational.
  • Opengl Superbible Link : The best way to learn OpenGL (a graphics API). You can follow this book to learn how to draw stuff in 3d.
  • Real Time Rendering Link : Amazing book about GPU graphics. Its API agnostic, and very in-depth. Explains techniques and effects.

    If you dont want to do the 3d route, you can just do 2d games using the libraries SFML or SDL. SFML is easier to use, for C++, while SDL is a lot more C oriented and runs literally anywhere (including things like nintendo DS or PS4). With those you can try to make some simple games like Snake, which is a great learning project.

    If you are inexperienced, try to avoid OOP designs (do not use inheritance). It will just make things more complicated than they should.
u/Jephir · 10 pointsr/gamedev

Seconded, Game Engine Architecture is the best book for an overall view on engine development. I've also found these books useful for implementing engine subsystems:

u/nint22 · 9 pointsr/gamedev

OpenGL is... a bitch. Documentation is all spread around, there is pseudo-support in Windows, and it is frankly very hard to learn. (Though note it is a well designed API set, IMHO)

I don't have a good recommendation, apart from the Red Book, and patience. A completely different approach that I enjoyed and taught me a ton was to actually write a 3D raster system yourself: i.e. mimic the features of OpenGL, and figure out yourself "how do I draw lines? How do I hide 3D faces? etc." but that's very hard as well.

u/Nihilus84 · 9 pointsr/GraphicsProgramming

Professional graphics programmer here with an MSc in related Comp Sci degree.

First ditch the idea of using JavaScript or any off the shelf graphics libraries like SDL. Also forget making a game. If you want to learn rendering/graphics techniques then make that your focus. The key to this plan is that you learn by doing, not just reading. I make it a point to myself that I never fully understand something unless I’ve implemented it myself from scratch.

  1. Starting from a blank c++ solution write a working offline ray tracer/pathtracer on the CPU that writes out to an image file. See https://www.amazon.co.uk/Ray-Tracing-Weekend-Minibooks-Book-ebook/dp/B01B5AODD8. This book was free online a bit ago, not sure if it still is. Writing a ray tracer will teach you fundamental rendering principles that underpin everything without the verbosity and boilerplate of the modern forward rendering pipeline used for real-time applications.

  2. Write an win32 application with a window context (a lot of helpful examples online). Then implement a simple Directx 11 forward renderer (plenty of books/tutorials out there). First get a triangle rendering in your window with vertex colours and then using some simple procedural meshes like a cube/sphere/cylinder etc get a moving camera with your matrix transforms all working using very basic vertex/pixel shaders. Then add a model/mesh loader for obj files or even you’re own format with help of a model converter/parser that is easy to write. Start to add more complex lighting in your shaders and start creating a 3D demo scene to show off your various rendering techniques:

    Blinn-phong reflectance, texture mapping and directional, point and spot lights will get you a long way. Add a sky using a cube map. Move onto static/dynamic environment mapping to create some reflections on a model. Then start implementing normal bump mapping/parallax mapping on something like a brick wall etc. Then look at shadow mapping and adding a moving directional light (sun) to showcase your shadows. Add some alpha blended transparent and alpha test materials to the scene. Maybe then also add basic animations on your meshes using simple vertex displacement techniques in the shader. From here there’s much much more you could add but you have an adequate if basic demo to add to your portfolio that shows an understanding of fundamental 3D principles (importantly from scratch in your own renderer).

    From here you could add bump mapped water with planar reflections and refraction, height mapped terrain, a particle system effect (maybe via the geometry shader), the list is endless really.

    I’ll add here that a lightweight off the shelf GUI library will help with demoing it all. Also take the opportunity to familiarise yourself with graphics capture analysis tools such as RenderDoc, Pix or intel GPA. A godsend For debugging graphics issues and used widely in industry.

  3. Look into more advanced rendering techniques such as cascaded shadow maps and implementing a deferred renderer (will allow you to showcase many hundred lights).

  4. Add post processing techniques such as bloom, HDR tone mapping, FXAA and maybe even some depth based fx such as SSAO or depth of field.

  5. More complex contemporary illumination techniques using PBR (physically based rendering) such as GGX specular model and global illumination using light/reflection probes.

    If you get anywhere near all of that in your portfolio you will easily land a graphics programmer job!

    Hopefully this was of some help 🙂.
u/whackylabs · 8 pointsr/opengl

Ray tracing in a weekend would be a good start. Followed by the pbrt

u/robotjonny · 7 pointsr/macrogrowery

My advice to you is to get yourself a good book, like this one :https://www.amazon.com/Marijuana-Growers-Handbook-Complete-Cultivation/dp/0932551467/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=&sr=

Read it cover to cover - it'll give you a well rounded education if you pay attention. Everything else can be learned on the job

u/ubernostrum · 7 pointsr/programming

This one is recent and has received good reviews from people I trust. This one is from a respectable author/series. This one will appease the Joel fanboys.

Also, keep in mind that many of the very best books on UI/usability are over 10 years old. Software changes quickly, but people generally don't.

u/mstoiber · 7 pointsr/web_design

I'd start learning more about design and design theory.

Start with The Principles of Beautiful Web Design to get an introduction to Web Design, go on to Elements of Style to learn more about typography and finish with Don't make me think and Above The Fold to get started with User Experience.

u/[deleted] · 7 pointsr/gamedev

OpengL SuperBible 5th edition just came out and covers "modern" (programable pipeline + no intermediate mode) opengl check it out http://www.amazon.com/OpenGL-SuperBible-Comprehensive-Tutorial-Reference/dp/0321712617

it's not game dev specific but seems to be what your looking for

u/sickhippie · 7 pointsr/incremental_games

Okay, I'll give it another shot and try to get at least to the newer botanical and potions stuff you mentioned earlier. I definitely sympathize with revisiting old code, it's always a roller coaster ride.

Also I can suggest a couple good UI/UX books if you want a step up on that front: User Experience of One, 100 Things Every Designer Needs to Know About People, and UI Is Communication. They won't make you the best UI/UX designer in the world, but they might give you a better understand of the goals of UI and how they relate to the people using them. Understanding what people need out of a UI (which is often different than what they say they want out of a UI) goes a very very long way towards longer interaction periods. Good luck!

Edit: also feel free to hit me up if you want to talk more about UI/UX (or any dev-related) stuff. I'd be happy to help out.

u/whisky_pete · 7 pointsr/opengl

May I suggest:

http://ogldev.atspace.co.uk/

supplemented by:
https://open.gl/
http://learnopengl.com/

I'm going through the first tutorial now after prior experience building an instance rendering system for 2d sprites. So, I've had some basic interaction with the API and know some of the linear algebra basics (vectors, matrix transforms, dot product & cross product). The ogldev tutorial is pretty comprehensive in a way that many tutorials are not, so I'd suggest starting there and using the other two sites as a reference. I believe the ogldev author maintains a Visual Studio project for building their examples, but I haven't used it as I'm developing on linux.

Be patient and try to really read through the examples. OpenGL isn't the simplest API, and 3D graphics are a totally different way of thinking if you haven't done that type of development before. I'd avoid trying to copy-paste solutions and learn that way, because you won't end up with a deep understanding that you really need. This comes from an aspiring graphics developer who is looking to get into the industry, so take what I said with a grain of salt as well.

EDIT:

And, if you're really serious and want to look into picking up books, I can suggest these:
Real-Time Rendering, 3rd Edition

3D Math Primer for Graphics and Game Development

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition) if you need an api reference. Additionally, for a short-hand api reference thats useable, try docs.gl

u/Gossun · 6 pointsr/androiddev

If you're looking for a straight up tutorial in paper form, I'd pick up The Big nerd Ranch Guide.

u/SlayterDev · 6 pointsr/iOSProgramming

Read Programming in Objective-C. It will teach you the Objective-C language while teaching you enough C so that you know what you're doing. I highly recommend it.

u/Vladzy · 6 pointsr/animation

I would suggest you read Stop Staring. There is a good advice at the start of the book.
Before you start to animate the lips, animate the movement of the head as though she's speaking, but her lips are closed or she has duct tape over her mouth and trying to communicate something to you.
In short, you need better head movement which tells me you didin't do much of lipsyncing before.

The blink is not warranted when people speak, especially when the person is being passive agressive. It's usually done in between sentences, and it also helps to express the meaning of the overall speech. So if the person is being patient in a tense situation, he/she might take a long pause with a long blink between two sentences as a segue.

Blinking while speaking (opening the mouth) suggest the person is crazy, very scared or can't handle the stress.

Eyebrows are also a tool of communication as the character is exaggerating words. Otherwise, they are very subtle.

And never forget KISS. The "Keep It Simple, Stupid" rule. Don't overthink.

Movement one (Rotate head up(or to the side) slowly(<anticipation), Move head forward and rotate down) - Could you(<anticipation) please.

Overlapping between two actions (Faster rotation down and hold) - Stop.(eyebrows exaggerate - shes very aggressive here)

Movement two (Move the head back, continue to slightly rotate towards the neck) - With your iPod.

Act it out in front of a mirror. Animating is essentialy acting, don't forget that.
Animate in steps. 1st The head. 2nd The eyebrows. 3rd Blink/Open eyelids more. 4th Lips.

u/shaunwho · 6 pointsr/Maya

https://www.amazon.co.uk/Stop-Staring-Facial-Modeling-Animation/dp/0470609907 such a good book, it was done at a time when I was doing a lot of corporate animation so want to do something silly and fun!

u/Duvo · 5 pointsr/GraphicDesign

Hey, I'm not too sure how much I can help with the college choices, I come from a different country so I don't know enough about that, but I am big on learning things myself and if you'd like to strengthen your knowledge in graphic design, maybe even while studying, here are some awesome books to get yourself going in the right direction:

Meggs' History of graphic design: I love this book. before I bought it I found another on design as a whole but this is specifically related to graphic design. with a lot of briefs it helps to know what kind of association your font choice will create, and it's useful to look back at old graphic design to see if there's something you can re-purpose for your brief. if that's the case, this book is for you. Megg doesn't leave anything out too! it starts all the way back from the beginnings of written language!

The A - Z of Visual Ideas: How to Solve any Creative Brief: Imagery is almost as important to a brief as type. You'll need to be able to create something that grabs attention and gets a message across as quick as possible. If you're having trouble finding a way to express an idea, flip open this book and page through countless ways you could do it.

How To Be a Graphic Designer Without Losing Your Soul: Work experience is the best kind of learning there is. and if you feel like you're lost when you begin, this book will be your faithful mentor. There's a lot about freelancing and starting your agency too, it's just invaluable all around.

The Principles of Beautiful Web Design: If you'd like to become a web designer, this is a good book to start with. I'm an experienced web designer so I find some of the points a bit obvious, but I found a lot to learn all the same.

I don't like to waste time when it comes to learning things through the books I've bought so I can tell you first hand that these books are absolutely useful and won't just waffle on about what successful agencies have done. I'd also like to let you know that one of the finest graphic designers my previous agency had was a guy who came straight from high school and just really loved doing graphic design. When he left, he left a huge space to fill. On the other hand, I've met designers with honours degrees who didn't stay for longer than a year. But get a degree if you can, it helps to get your foot in the door. Getting a masters is awesome, and if you went magna cum laude I'm sure you would knock it out the park :) you aren't over your head in the slightest.

u/cehak · 5 pointsr/microgrowery

http://www.youtube.com/watch?v=IHJufksP67Y

this is part 1, they're all on youtube.
I highly recommend Ed Rosenthal's Marijuana Grower's Handbook

My personal method is aimed towards hydroponic growing if this is what you're doing, you can shoot me a message. Germinating before soil is explained in the video series.

u/fuzzylumpkinsclassic · 5 pointsr/gamedev

If you want a quick brush up on ray tracing, you could check out https://www.amazon.com/Ray-Tracing-Weekend-Minibooks-Book-ebook/dp/B01B5AODD8

I haven't gotten around to it yet, but it seems condensed enough to realistically be able to get through

u/l3dx · 5 pointsr/programming

What about the OpenGL Superbible?

u/NotRobot_Aero · 5 pointsr/gamedev

If you are going the book route, I have a few suggestions for you!

Not sure if he's a reader? Check out Challenges for Game Designers Basically a collection of game problems to solve, flexing those 'be creative within a bounded scenario' muscles that a lot of big dreamers don't have enough experience with.

Another solid choice is this one,
100 Things Every Designer Needs to Know About People (Voices That Matter). In general it's talking about layouts/formatting, but super solid read for our industry as well.

Both of these are light and fun reads. If you think they might be interested in something heavier, I can post some in that vein as well.

u/slime73 · 5 pointsr/gamedev

Why are you linking a guide from 1997? Graphics programming has changed a lot since then, and you'll learn (and then have to un-learn) bad habits by using techniques from the mid-90's. :(

For modern OpenGL tutorials, check out these:

http://www.arcsynthesis.org/gltut/

http://open.gl

http://openglbook.com

http://ogldev.atspace.co.uk

And some real books:

http://www.amazon.com/OpenGL-SuperBible-Comprehensive-Tutorial-Reference/dp/0321902947/

http://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321773039

u/fmdthor · 5 pointsr/androiddev

http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333

This is a really good resource. I'm also learning and this resource seems to be one of the most recommended.

Also check out the wiki at the top of this sub, it has a lot of other really good resources.

u/abudabu · 5 pointsr/C_Programming

You need to learn Objective C, which, as ikilledkojack pointed out, is a superset of C. However, knowing C will only give you a small head start in understanding Objective C. ObjC is a language within a language and has its own specialized syntax and idioms.

If you want to learn iOS programming, don't bother with ANY C books, just jump straight into ObjC.

Here are books I used:

u/Idoiocracy · 4 pointsr/TheMakingOfGames

For the definitive book on physically-based rendering, check out Physically Based Rendering, Second Edition: From Theory to Implementation by Matt Pharr and Greg Humphreys. The book's homepage has sample chapters in PDF format, as well as additional purchasing links.

The book received an Academy Award this year, the first time a book has been given the honor.

For a visual demonstration of physically based rendering in a game engine, check out the Metal Gear Solid 5 Fox engine presentation at GDC 2013.

u/JohnKog · 4 pointsr/compsci

Such an article seems rather superfluous when the de facto standard reference for modern raytracers is done with literate programming.

u/s1e · 4 pointsr/userexperience

Here are a few:

Elements of User Experience, Jesse James Garret: What a typical experience design process is made up of.

Designing Interactions, Bill Moggridge: Seminal thoughts on Interaction Design, holds up to this day

Don't Make Me Think, Steve Krug: One of the first books to gave the issues of IA and UX design a human, customer point of view.

About Face, Alan Cooper: Another take on the whole process, dives a bit deeper into every stage than Garret's book.

Designing For The Digital Age, Kim Goodwin: Human-centered digital products

Sprint, Jake Knapp: A condensed prototyping methodology

100 Things To Know About People, Susan Weinschenk: How people think

There are a few more Product Design related books I recommended in another thread.

IDEO's design thinking methodologies are also a great resource:

Design Kit, A book and toolkit about human centered design

Circular Design, A guide for holistic design, organization friendly.

Cheers

u/whitesooty · 4 pointsr/italy

Ecco la mia lista/elenco disordinato.

Mi piacerebbe spiegare il perché su ogni libro letto ma sarebbe troppo lungo. Se sei interessato ad un feedback in particolare, fammi sapere in un commento.

In generale: in questo periodo si trova molta letteratura; io consiglio i classici, perché in giro c'è molta bullshit e ho elencato anche tutta una serie di libri per acquisire conoscenza su skills complementari (es. negoziazione, persuasione).

Ho elencato i libri di Codice Edizioni a parte perché uno dei pochi editori che pubblica saggi su argomenti contemporanei come tecnologia e media.

Una parola in più la spendo per i libri di Mari e Munari: sono dei classici che vanno letti. Punto.

LIBRI

UX

u/iamktothed · 4 pointsr/Design

Interaction Design

u/Random · 4 pointsr/programming

Rettig on paper prototyping:
www.iua.upf.es/~jblat/material/.../paper_prototyping/paper_prototyping.pdf

Game Design Workshop book:
http://books.google.ca/books?id=oTDZ0DoAchUC&dq=game+design+workshop&printsec=frontcover&source=bn&hl=en&ei=Ep03S7ylLtK7lAfXoYCUBw&sa=X&oi=book_result&ct=result&resnum=4&ved=0CBQQ6AEwAw#v=onepage&q=&f=false

Jesse Schell on game design:
http://artofgamedesign.com/

Design methods in general (very very useful book):
Cooper on Interaction Design:
http://www.amazon.com/About-Face-Essentials-Interaction-Design/dp/0470084111/ref=pd_bbs_sr_1/002-1593361-6218447?ie=UTF8&s=books&qid=1174682941&sr=1-1

If you are designing in an urban setting, look at Lynch's Image of the City and Alexander's A Pattern Language.

If you have specific things you are interested in, ask!

I used to teach a course on design of geographic spaces (games, 3d viz, etc) so I have lots of detailed stuff if you have specific questions.


u/yanalex981 · 4 pointsr/computerscience

I taught myself bits in high school with "C++ for Everyone". Despite its rating, I thought it was good 'cause it has exercises, and I did a lot of them. Works really well for laying foundations. I didn't go through the whole book though, and knowing the language is only part of the battle. You need to know about algorithms and data structures as well. For graphics, trees seem really useful (Binary space partitioning, quadtrees, octrees etc).

After university started, I read parts of "C++ Primer", which was when the language really started making sense to me. You'll get more than enough time to learn the required amount of C++ by next fall, but CG is heavy in math and algorithms. If your CS minor didn't go over them (much), my old algorithms prof wrote a free book specifically for that course.

For using OpenGL, I skimmed the first parts of "OpenGL SuperBible". For general graphics, I've heard good things about "Mathematics for 3D Game Programming and Computer Graphics", and "Real-Time Rendering".

Careful with C++. It may deceptively look like Java, but honestly, trying to write good idiomatic C++ after years of Java took a major paradigm shift

u/CSMastermind · 4 pointsr/learnprogramming

I've posted this before but I'll repost it here:

Now in terms of the question that you ask in the title - this is what I recommend:

Job Interview Prep


  1. Cracking the Coding Interview: 189 Programming Questions and Solutions
  2. Programming Interviews Exposed: Coding Your Way Through the Interview
  3. Introduction to Algorithms
  4. The Algorithm Design Manual
  5. Effective Java
  6. Concurrent Programming in Java™: Design Principles and Pattern
  7. Modern Operating Systems
  8. Programming Pearls
  9. Discrete Mathematics for Computer Scientists

    Junior Software Engineer Reading List


    Read This First


  10. Pragmatic Thinking and Learning: Refactor Your Wetware

    Fundementals


  11. Code Complete: A Practical Handbook of Software Construction
  12. Software Estimation: Demystifying the Black Art
  13. Software Engineering: A Practitioner's Approach
  14. Refactoring: Improving the Design of Existing Code
  15. Coder to Developer: Tools and Strategies for Delivering Your Software
  16. Perfect Software: And Other Illusions about Testing
  17. Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application

    Understanding Professional Software Environments


  18. Agile Software Development: The Cooperative Game
  19. Software Project Survival Guide
  20. The Best Software Writing I: Selected and Introduced by Joel Spolsky
  21. Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams
  22. Rapid Development: Taming Wild Software Schedules
  23. Peopleware: Productive Projects and Teams

    Mentality


  24. Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency
  25. Against Method
  26. The Passionate Programmer: Creating a Remarkable Career in Software Development

    History


  27. The Mythical Man-Month: Essays on Software Engineering
  28. Computing Calamities: Lessons Learned from Products, Projects, and Companies That Failed
  29. The Deadline: A Novel About Project Management

    Mid Level Software Engineer Reading List


    Read This First


  30. Personal Development for Smart People: The Conscious Pursuit of Personal Growth

    Fundementals


  31. The Clean Coder: A Code of Conduct for Professional Programmers
  32. Clean Code: A Handbook of Agile Software Craftsmanship
  33. Solid Code
  34. Code Craft: The Practice of Writing Excellent Code
  35. Software Craftsmanship: The New Imperative
  36. Writing Solid Code

    Software Design


  37. Head First Design Patterns: A Brain-Friendly Guide
  38. Design Patterns: Elements of Reusable Object-Oriented Software
  39. Domain-Driven Design: Tackling Complexity in the Heart of Software
  40. Domain-Driven Design Distilled
  41. Design Patterns Explained: A New Perspective on Object-Oriented Design
  42. Design Patterns in C# - Even though this is specific to C# the pattern can be used in any OO language.
  43. Refactoring to Patterns

    Software Engineering Skill Sets


  44. Building Microservices: Designing Fine-Grained Systems
  45. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
  46. NoEstimates: How To Measure Project Progress Without Estimating
  47. Object-Oriented Software Construction
  48. The Art of Software Testing
  49. Release It!: Design and Deploy Production-Ready Software
  50. Working Effectively with Legacy Code
  51. Test Driven Development: By Example

    Databases


  52. Database System Concepts
  53. Database Management Systems
  54. Foundation for Object / Relational Databases: The Third Manifesto
  55. Refactoring Databases: Evolutionary Database Design
  56. Data Access Patterns: Database Interactions in Object-Oriented Applications

    User Experience


  57. Don't Make Me Think: A Common Sense Approach to Web Usability
  58. The Design of Everyday Things
  59. Programming Collective Intelligence: Building Smart Web 2.0 Applications
  60. User Interface Design for Programmers
  61. GUI Bloopers 2.0: Common User Interface Design Don'ts and Dos

    Mentality


  62. The Productive Programmer
  63. Extreme Programming Explained: Embrace Change
  64. Coders at Work: Reflections on the Craft of Programming
  65. Facts and Fallacies of Software Engineering

    History


  66. Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
  67. New Turning Omnibus: 66 Excursions in Computer Science
  68. Hacker's Delight
  69. The Alchemist
  70. Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  71. The Information: A History, A Theory, A Flood

    Specialist Skills


    In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.

  72. Peter Norton's Assembly Language Book for the IBM PC
  73. Expert C Programming: Deep C Secrets
  74. Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming
  75. The C++ Programming Language
  76. Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  77. More Effective C++: 35 New Ways to Improve Your Programs and Designs
  78. More Effective C#: 50 Specific Ways to Improve Your C#
  79. CLR via C#
  80. Mr. Bunny's Big Cup o' Java
  81. Thinking in Java
  82. JUnit in Action
  83. Functional Programming in Scala
  84. The Art of Prolog: Advanced Programming Techniques
  85. The Craft of Prolog
  86. Programming Perl: Unmatched Power for Text Processing and Scripting
  87. Dive into Python 3
  88. why's (poignant) guide to Ruby
u/jflesch · 4 pointsr/linux

Actually, from what I know regarding UI design, it's the best UI design I've ever seen (and by far the most daring, hence the controversies I guess).

You might want to have a look at this book : https://www.amazon.fr/User-Interface-Design-Programmers-Spolsky/dp/1893115941/ref=sr_1_1 . It might give you a lot of insights regarding their design choices.

u/stoneousmaximus · 4 pointsr/microgrowery

I strongly recommend reading these two books:

u/zonker4965 · 4 pointsr/trees

http://www.youtube.com/watch?v=kO6GhtrgxJ8&feature=c4-overview&playnext=1&list=TLvZ8Qg1uyzSA

Watch all three parts. Also get his book, http://www.amazon.com/Marijuana-Horticulture-Outdoor-Medical-Growers/dp/187882323X/ref=sr_1_1/180-5748622-0703640?s=books&ie=UTF8&qid=1372344635&sr=1-1

I think Jorge is the easiest to learn from. Apparently he isnt a grower but works closely with growers so he has pretty good advice.

If you want to take it up a notch you should also get Ed Rosenthals book http://www.amazon.com/Marijuana-Growers-Handbook-Complete-Cultivation/dp/0932551467/ref=sr_1_1?s=books&ie=UTF8&qid=1372344700&sr=1-1&keywords=ed+rosenthal

With these videos and books you should be able to really get a understanding of the reality of MMJ horticulture.

u/mrkite77 · 4 pointsr/programming

It's hit and miss. A lot of it deals with outdated assembly language minutia, to the point where he actually reorders assembly by hand to handle pipeline stalls on the pentium. But there's a lot of good left in it.

Take the chapter on string searching, for example. He'll start out with the simplest string searching, and then introduce concepts like searching for less common characters first, and eventually lands on the boyer-moore algorithm. Even though the book is 90% assembly, he repeatedly makes the point that algorithmic changes gives you 100x speedups, while assembly rewrites only give you modest speedups.

However, if you're into game and graphics programming, I recommend going straight for Abrash's compilation book:

https://www.amazon.com/Michael-Abrashs-Graphics-Programming-Special/dp/1576101746

It contains pretty much everything he's ever written. The entirety of the Zen of Code Optimization, the Zen of Graphics Programming, and a whole bunch of stuff from when Abrash was developing Quake with John Carmack.

u/TheStudyOf_Wumbo · 4 pointsr/UofT

Most important thing IMO is /u/MysteryMo 's response cause if you don't like it, then you probably won't finish it.

Projects that got me into what appears to be high places in this field were things that are very painful to do due to the amount of things you need to know. For example, making your own game engine with a renderer is a very obnoxious task and you have to not only be good at linear algebra/math/physics/networks/etc, but your programming skills and debugging strategies cannot suck. Even then when you're passing stuff off to the GPU with OpenGL (or w/e library here), sometimes even then you have no idea why suddenly all your polygons aren't rendering and no output message as to why. There probably are tools to help with this but I could only find one and it was outdated. You will be probably reading a literal fuckton of articles, considering learning assembly to use SSE if you're not using a GPU to do all the good stuff for you, and also dealing with the aspies of the internet when you try to get help on some problem you run into. For example, to get a software renderer running, I had to read tons of textbooks in my free time and spent countless hours absorbing tomes like this just to understand the higher level concepts and play around with optimized implementations.

Maybe a combination of all the above is why some of these projects look really good, since they're generally a pain in the ass to do right even if you know what you're doing.

If the project does something epic like has distributed system components that serves people stuff, this will look a lot better than the next run-of-the-mill-CRUD-app.

I sometimes wonder if maybe taking some cutting edge algorithm and coding it or implementing some advancements with it would be less painful than the journey I took, and also look better.

u/TurkishSquirrel · 3 pointsr/learnprogramming

It depends a bit on what areas you're interested in. For interactive graphics you'll likely do OpenGL or DirectX or such.
Non real-time graphics usually means ray tracing or some variant like photon mapping where you want to produce physically correct images, with flexibility depending on your art direction e.g. Big Hero 6. With ray tracing you're essentially simulating how light interacts in the scene.

Here's some useful books/links for real time graphics:

  • Real-Time Rendering this is a great book covering a lot of theory/math topics behind real time graphics techniques, so it's agnostic to whatever rendering API you use. The book's website lists more graphics related resources and is quite good.
  • OpenGL Superbible good book focusing on OpenGL, written for beginners with the API.
  • open.gl very good introductory tutorials for OpenGL, I just wish it covered some more content. Should give you a solid start though.

    Here's some for ray tracing:

  • Physically Based Rendering this is basically the book for ray tracing, the 3rd edition should be coming out this spring though so if you want to save some money you could wait a bit. There's also a website for this book.

    For general math topics I also recently picked up Mathematics for 3D Game Programming and Computer Graphics which looks very good, though I haven't gone through it as thoroughly.

    As mentioned already /r/GraphicsProgramming is a good subreddit, there's also /r/opengl for OpenGL questions.
u/Yarblek · 3 pointsr/Unity2D

I love doing procedural maps but it is an evolving art (Especially for me). I recommend that you create an interface (Programming, not user) such as IMapProvider that returns the data your game needs for a new map. That way you can iterate and improve your map generation code to your hearts content and just swap new ones in without any hassle.

Check out articles such as those on Rogue Basin and the book Mazes for Programmers.

I started with a relatively simple generator that generates a number of rooms then connects close ones with corridors until all rooms are connected. It works but is slow (Limiting map size). Later I created a new generator based on the Mazes for Programmers book that is several orders of magnitude faster and more flexible.

Also look at the blogs of people in r/roguelikedev such as the creators of spelunky and cogmind

u/spaghettu · 3 pointsr/gamedev

If you're planning on pursuing this as a career, there are tons of incredible opportunities for people experienced with lower-level 3D APIs. Making your own engine serves as a fantastic learning experience, and would be a huge investment in your future.

Below are some of my favorite books/resources right now that may help you along the way. These might not be immediately useful to you right now, depending on where you're at, but together they have more than enough knowledge for you to go far in 3D Computer Graphics.

  • Game Engine Architecture touches at least a little on all of the knowledge necessary to build a bare-bones 3D engine. It goes over the components of modern 3D engines, and how they work. It even has introductory Linear Algebra and Object-Oriented programming concepts. I think this book is pretty approachable for beginners.
  • The OpenGL SuperBible offers great insight and examples on using OpenGL optimally. Depending on when you start, however, you may want to consider a Vulkan book instead. I think this book is the best way to learn OpenGL as a beginner. There are plenty of free tutorials online on websites like learnopengl.com and open.gl as well.
  • Real-Time Rendering is a fantastic book that dives deep into different algorithms and techniques for modern 3D rendering. It's pretty advanced, but it's a very well-known book and exposes very valuable information on complicated effects found in modern 3D engines.
u/gundy8 · 3 pointsr/trees

Ed Rosenthal has a book that would probably answer most of your questions. As for seeds, it's probably your best bet to try and find them through people.

u/AMSFarmer · 3 pointsr/microgrowery

I started by reading these two books first. It gives you a nice solid foundation and makes reading information on the internet a lot easier.

Ed Rosenthal - Marijuana Grower's Handbook: Your Complete Guide for Medical and Personal Marijuana Cultivation

Jorge Cervantes - Marijuana Horticulture: The Indoor/Outdoor Medical Grower's Bible

u/IanTheRed420 · 3 pointsr/microgrowery

http://www.amazon.com/Marijuana-Growers-Handbook-Complete-Cultivation/dp/0932551467/ref=sr_1_sc_1?s=books&ie=UTF8&qid=1334088516&sr=1-1-spell

Ed Rosenthal is the Eisnstein of Pot. That book will teach you everything about the plant from a cellular level and up.

also the book by SeeMoreBuds is less detailed but full of pictures if you prefer that instead. Still a great buy.

u/ahydell · 3 pointsr/nfl

I live with my parents and in a really good climate, so I have to grow outdoors. I grow 4 plants per year, I plant in April and harvest in September. Growing is NOT EASY, growing 4 plants is about a $500 investment (seeds, dirt, nutrients, pesticide, all organic) and they're very finicky and you have to be diligent with watering, nutrients, pesticides, etc. But you can get around 8 ounces out of a 5 foot tall plant. I smoke a gram a day so I smoke 12 ounces a year, but my mother also eats a little canna-brownie before bed, so she consumes some of my harvest as well. /r/microgrowery is a great reference, and I can't recommend this book: Ed Rosenthal's Marijuana Growers Handbook enough. It is a labor of love and it took Mom and I 9 days to trim 4 plants. And it's stressful because it's worth so much money to my family. I'm on disability and a fixed income and can't afford to buy it.

u/trucanadian84 · 3 pointsr/microgrowery

Marijuana Grower's Handbook: Your Complete Guide for Medical and Personal Marijuana Cultivation https://www.amazon.ca/dp/0932551467/ref=cm_sw_r_cp_api_i_JN6VCbJJPZHHD


I have this book and it’s full of good info.

u/michaelstripe · 3 pointsr/cscareerquestions

Get this book (however you choose to do that), follow it, done.

I mean you can start out just doing a simple raytracer, then add in reflection and refraction, then add in more materials, texturing, different kinds of lights, different kinds of meshes, file loading and saving, distribution effects (like depth of field, anti-aliasing, motion blur, etc.), add in different kinds of lenses, add in a full on material system (that lets you do stuff like bump mapping, boolean modeling, deformation, etc.), make it a path tracer, make it a metropolis light transport renderer, make it faster, make it realtime, etc.

It's so easy to start off with yet there's just so much you can do and it's all pretty modular, check out that book and it'll have everything you'll need for months and months.

u/mysticreddit · 3 pointsr/gamedev

Hey RJAG. We don't always see eye to eye but you seem to be one of the more level headed guys around here! I almost always appreciate your posts -- they usually have an interesting perspective to them -- even if they aren't well received. I probably should pay more attention to them! But enough of how reddit tends to shoot the messenger and ignore the message.

You're right -- a lot of material is total crap. Out-of-date, not explained well, piss-poor naming, poor architecture, etc.

Warning:


I first started doing professional game dev back in 1995, so I am extremely biased. I've seen the fad of programming languages, toolkits, libraries, etc., come and go. I think Boost's 1,109 lines for a simple CRC is over-engineered C++ crap compared to the ~30 lines of C/C++ you actually need to solve the real problem.

With the #include <disclaimer.h> out of the way ... ;-)

The best authors I have found are (aside from Jason obviously):

u/donalmacc · 3 pointsr/gamedev

I did some work in this area last year, guerilla games published some slides on their development pipeline for killzone shadowfall, another game that is based on PBR, here it's under lighting of killzone. Another good read is physically based rendering but it focuses on offline rendering rather than real time.

u/Evdawg · 3 pointsr/web_design

The Zen of CSS Design, by Dave Shea. Picks apart the best design's from the CSS Zen Garden. I think a lot of people were disappointing when they found out this book had little code content-- but it sounds like exactly what you're looking for.

u/Boye · 3 pointsr/web_design

somehow I knew that was a link to cssZengarden. I have the book which explains quite a few topics based on some of the designs on cssZenGarden. Great read ;)

u/kihaji · 3 pointsr/programming

OpenGL red book, the definitive. (This is assuming you are already very comfortable with C, if not, learn C).

u/Maeln · 3 pointsr/opengl

The 4th edition only talk about OpenGL 2.1, if you want to learn modern OpenGL ( 3.x ) buy the 5th edition ( http://www.amazon.com/OpenGL-SuperBible-Comprehensive-Tutorial-Reference/dp/0321712617/ref=sr_1_2?s=books&ie=UTF8&qid=1319548380&sr=1-2 ), but it's only about OpenGL 3.3, not 4.x.

The link alexincode gave you is very good even if it's for OpenGL 3.3 too. But, the author seems to keep updating the tutorial, so it's possible to see an update for OpenGL 4.x.

u/MrBushido2318 · 3 pointsr/gamedev

On the math side I read 3d Math primer for graphics and games as it was one of the only 3d math books available for the kindle. It is a pretty easy read and covers a lot of subjects. I'm considering picking up Essential Mathematics for Games and Interactive programming as a refresher if it ever gets released as an ebook since I've seen it be recommended a few times and it is a slightly more recent text.

As for the 3d programming side, it really depends on what you want to do. I chose to program in opengl and picked up the opengl superbible, which I would recommend. I've not touched directx yet, but have heard good things about Practical Rendering and Computation in Directx11 though I don't think this is intended as an introductory text for directx, but as a reference for those familiar with 3d already.

u/PixelatorOfTime · 3 pointsr/graphic_design

Get this book. It's exactly what you're looking for. Check if your local library has it or if you can get it though interlibrary loan or something similar.

There's actually a Lynda.com video about it if you have access to it. They also have a 30 day trial you could sign up for.

u/artearth · 3 pointsr/graphic_design

The best book ever written on typography is called The Elements of Typographic Style by Robert Bringhurst. I can't say enough about how important those lessons are.

Beyond that, I like two type books for InDesign: Adobe InDesign CS4 Styles and InDesign Type. If you are interested in InDesign to do type layout, these books will give you the shortcut and power user skills so you're not wasting tons of time. They focus on Paragraph and Character Styles and GREP. Pass on them if you're not interested in that aspect of design.

I also like a book called Vector Basic Training, which is less about learning Illustrator and more about developing a workflow where illustrating by hand and digital work complement each other.

I'm less excited about branding in general, but the book I sharpened my teeth on is called Integrated Branding, which does a good job of taking you through the entire process, and keeping the visual design aspects off the table until the more important work has been done. It's a solid 101 overview, though there may be better books published more recently.

u/igloochan · 3 pointsr/web_design

Not exclusive to web design, but the best design book I ever read was '100 Things Every Designer Needs to Know About People' by Susan Weinshenk.

http://www.amazon.com/Things-Designer-People-Voices-Matter/dp/0321767535/

It deals with a psychological understanding about how people view and interact with works of design, putting it in relevant terms to help make design decisions. Fascinating stuff.

u/GigantorSmash · 3 pointsr/crestron

not tied directly to touch panels, but i found the following books help my touch panels look less like an engineer designed them.

Design of everyday things

100 Things Every Designer Needs to Know About People

this one provided insight sticky design, and what makes some apps stand out, it a world of apps it dose hurt to see what is driving some mobile platform/ product development.

Hooked: How to Build Habit-Forming Products

infocomm published the dashboard for controls, but it is quiet dated, and as pointed out below its counter any kind of modern ui design principal.

u/Riimii · 3 pointsr/cscareerquestions

This book is on my list.

A dot grid notebook would be good. From Behance. From Moleskine.

Portable whiteboard.

Pantone thermo cup.

u/gelftheelf · 3 pointsr/gamedevnoobs

I'd like to recommend the following:

A great book for foundations (math stuff):

3D Math Primer for Graphics and Game Development
http://www.amazon.com/Primer-Graphics-Development-Wordware-Library/dp/1556229119
I found this to have really nice clear explanations of Vectors, Matrixes, etc.

For learning OpenGL the "red" book is great!

OpenGL Programming Guide: The Official Guide to Learning OpenGL
http://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321773039/ref=dp_ob_title_bk

I haven't read this one but a lot of people recommend it for Unity.

Unity 3.x Game Development Essentials
http://www.amazon.com/Unity-3-x-Game-Development-Essentials/dp/1849691444/ref=sr_1_1?ie=UTF8&qid=1334698866&sr=8-1

u/slothwerks · 3 pointsr/androiddev

The Udacity course is great/free, but man, it gets really fast/dry midway through Lesson 4. I felt that the way they designed the app was a bit overkill for teaching what's supposed to be an intro to Android; in particular, the 4a/4b lessons on databases. Besides way too much copy/paste code in this section, I wasn't sold on the idea of a database for the app, especially given the amount of work. I found myself watching the video and copy/pasting a lot of code without really understanding it. I really enjoyed the first 3 lessons, but bailed during 4b.

While I highly recommend checking out the Udacity course (since it's free), I've preferred http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333 The book teaches similar concepts, but instead of putting them all into one app, spreads them across several. I particularly liked the later chapters, where you build a simple Flickr client. These chapters were particularly relevant to me, since they cover how to interface with an API, download pictures, integrate search, etc...

u/Reustonium · 3 pointsr/androiddev

Big Nerd Ranch has a great guide

u/HohnJogan · 3 pointsr/androiddev

Can we get a sidebar for this question and beginner android resources in general? I see this question posted once a week. That being said here are the top answers/relevant links

u/LLJKCicero · 3 pointsr/cscareerquestions

I went through the first several chapters of the Big Nerd Ranch book, it seemed pretty solid to me: http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333/

Good reviews, apparently they use the same curriculum for a coding bootcamp as well.

u/LuXunMaster102 · 3 pointsr/androiddev

Yes, you should definitely avoid sources that are 2 years old. Try going for a book on Android that was recently published. These books cover the nuances of features only present in later Android OS. Heres a suggestion:

http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333

Googling of course helps you when you're stuck or don't know what to do, but I find internet resources are not the best at teaching you the ways of Android programming.

u/AlphaOmegaTubbster · 3 pointsr/androiddev

Here are a few helpful resources to help you out.


Firstly, you probably need a beginners grasp on Java. For that, I would highly recommend:
http://www.amazon.com/Head-First-Java-2nd-Edition/dp/0596009208

You do not need to go through the entire book, But it would be more helpful to you.

Secondly, I highly recommend this android book:
http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333

They literally walk you step-by-step.


However, if you do not feel you can teach yourself programming there is always this option:
http://appinventor.mit.edu/explore/
I haven't personally messed around with it but it doesn't require any programming experience.



Here is a free online class that starts tomorrow if you have the time.
https://www.coursera.org/course/androidpart1

or this one that is already finished but you can still access the material.
https://www.coursera.org/course/androidapps101

You could also go at your own pace through it.


Here is also a udemy course that also teaches you java. I would get it now before the price goes back up to 200 bucks.
https://www.udemy.com/android-lollipop-complete-development-course/?dtcode=hfFhrtG2ans8

I haven't personally taken it, but a friend of mine has and he loves it.




Basically, just start reading and learning. The big nerd ranch book that I listed has some really great beginner apps that teach you the basics.



Persistence is the key. Don't give up, fight through the pain. Google like crazy.It's worth it, trust me.

u/metasophie · 3 pointsr/userexperience

> I was studying everything related to design the last 6/8 months (illustrator, photoshop and theory)

Illustrator and photoshop have nothing specifically to do with design; they are simply tools.

Design Theory is a huge topic and I'm not sure what you've studied but it's clear that it isn't User Experience Design.

User Experience Design takes the majority of it's roots from Interaction Design which was born out of Anthropology. Here's a brief video about how it started (and if you're at all interested in User Experience Design, you should watch it): https://www.youtube.com/watch?v=cNJWafS-BA4


Here is the book she wrote about it

https://www.amazon.com/Plans-Situated-Actions-Human-Machine-Communication/dp/0521337399/ref=sr_1_2?s=books&ie=UTF8&qid=1483873679&sr=1-2&keywords=lucy+suchman

Here's a book by Alan Cooper where he discusses how we need to change the way we think about the interaction between humans and computers. The problem being is that people design systems to meet the goals of the system and investors/steering-committees, the the whims of a programmer who's trying to solve a functional problem, or if you're really lucky a designer who's trying to make an aesthetically pleasing interface.

https://www.amazon.com/Inmates-Are-Running-Asylum-Products-ebook/dp/B000OZ0N62/ref=la_B001IGLP7M_1_2?s=books&ie=UTF8&qid=1483873599&sr=1-2

Here's a book where Cooper basically breaks down the processes.

https://www.amazon.com/About-Face-Essentials-Interaction-Design/dp/0470084111

edit:

My recommendation is that you use this as a starting point and then do some quick and dirty UXD on it.

Pick an interaction, say booking a room, and make all of the screens that you think are required for this process. I'd also model this interaction in some sort of workflow diagram (boxes and arrows, nothing too formal) so you can talk it out to the company.

Then print them out on paper and make some "UX testing packs" which includes all of those sheets, a pencil, some A5 note paper, and a free coffee card (or something). Don't go overboard but you'll need a few. I'd probably recommend using 5 if only because of the 5 users testing argument.

Take those testing packs to some of your friends and test the site with them. Get them to talk out what they are looking for and to press with their finger on the paper what button they'd press if they were online. Get them to talk out what they expect to happen. If you have a relevant screen take them to that screen (you're the computer).

Get them to recommend you the best and worst website they've ever seen for booking a hotel room. You'll need to document the workflow(s) to complete the task. Identify what rocks about the good ones and what sucks about the bad ones.

Now, reflect that process and redesign. Start by redesigning the workflow diagram and then modify your screens to make that redesign come to reality.

u/paniejakubie · 3 pointsr/userexperience

Disclaimer: I'm not a pro (yet).

First of all, do what they told you: play a game. Pick one and play the shit out of it for some time, but not too much. ;) Don't focus too much on the game itself, rather on your experience with interface, controls, visual and functional aspects of menus, tutorials etc. Change settings, break them, fix them; mess with characters equipment, try to fix it. Don't look for obvious bugs, as you don't care if the game crashes (but you can and should report the bug nevertheless ;)). You do care, however, if anything is hard to do, isn't clear or takes too much time and could be faster/more efficient.

They told you to find one aspect to fix or improve - find it. Maybe something is hard to use because it's small, maybe it's vaguely described, or maybe it's not even there. Ask someone who played the game what (s)he thinks about it. Then ask someone who didn't play (amateurs sometimes have the best ideas).

When you find the thing, or things, that bothers you and someone else, think about a way of improving it. Maybe it just needs small font-lifting, or maybe the entire interface sucks. Draw some sketches and make notes. Ask "WHY?" every time you change something and write the answer (tip: "because it's better" is not a valid answer).

When you have some good solutions, show them to people. Show them to that person who played the game and to someone else. Ask how would they do things in your version of the interface. You may try some paper prototypes, as it's reasonably fast and useful method in that case. Don't ask them if it's better - ask how would they do things in your prototype and listen to any critique, ideas and praises they'll say. Write those things down. If you can improve something even more - do it.

When you have some good ideas and opinions from users (or "users"), you can improve their visual aspects and use your crayons & markers or some wireframing application (Axure is usually "the" wireframing app) but probably in games industry it's safer to stay with paper for now.

Then, fire up your PowerPoint, Impress, Keynote or whatever you use and try to sell your ideas in 20 to 40 slides. Show them what, why and how you did what you did. Tell them what the users said. Explain why your ideas are good (but be open to feedback). Use images, don't kill them with PowerPoint.

If you have some time (and money) get yourself a copy of About Face 3 - it's not game design, but it's an UX bible and definitely a great start for anyone who starts with UxD. (There probably are some "cheaper" options.)


I hope it helps at least a little. :) Let me know if I could explain something better. And good luck, OP!

u/plaka888 · 3 pointsr/CrappyDesign

I lead design teams, and have been a designer of many colors for years. I start EVERYONE that asks this question with Tufte, because he's Not a designer, explores information design (which UI design is largely a subset of, IMO) from various angles, and non-designers have heard of him on NPR or some other bullshit, so they feel "in the know" once they read a book, and get more interested. I don't agree with many of his assertions, but one could start off much worse. Next, Alan Cooper and Rob Reimann's About Face 3: The Essentials of Interaction Design is excellent, also Moggridge's Designing Interactions (dated, but always applicable). There's plenty of other stuff out there, many of the Amazon "people who bought this" recs that show up on Rob's book are solid books by solid designers.

Edit: EVERYONE -> everyone not hired to do design that asks about it at work

Edit 2: There's a 4th edition of About Face, I just noticed. Really anything Alan or Rob do is excellent.

u/PM_ME_YOUR_PIXELART · 3 pointsr/cscareerquestions

Thank you for the really insightful post!

I was thinking of taking GLFW and start doing projects with it since it seems to have a lot of support behind it (and also has gamepad capability, so games would be really fun), I'm also really tempted to buy the OpenGL Super Bible, I really like to understand things from scratch, do you think that book is a good place to learn alongside? As of Linear Algebra, I found this channel (from teachyourselfcs.com that seems to cover it pretty well, I'm planning to get the book he recommends as well).

I know that Vulkan is the future but I've heard/read a lot about how dificult it is right now to implement things, write a lot of code to get small results, is that true? I plan on learning D3D in the future as well, but since openGL has a lot more tutorials (that i've found) I'd like to start with it.

I have almost 3 years until I graduate, my university is not very good in some areas like graphics programming as i'd like to, that's why I came to reddit for help, I felt kind of lost when they only had a book on 3D Graphics that was from 2003 or something like that in the library.

Currently for C++ I'm taking a few courses on LinkedinLearning and reading C++ Primer

As of Game Engine programming as i've mentioned, Game Engine Architecture by Jason Gregory seems pretty awesome, but I don't have the money to buy that one right now, so i'm staying with the most important ones first.

I went through a lot of websites and found some really cool resources, I want to leave it here so that people with the same interests can take a look at them:

  1. https://wickedengine.net/ (Wicked Engine is an open source engine, but the dev has an amazing blog that explains a lot of stuff in detail)
  2. https://thebookofshaders.com/ (The book of shaders, I really want to learn shaders in the future as I learn openGL and found a lot of people recommending it online)
  3. http://graphicscodex.com/projects/projects/ (This guy has an amazing engine that has ray tracing, it's open source and has some tutorials using the engine, it's a little weird the way you download it/get it to work, but if you're used to the tools he provides it might be a great learning resource)
  4. http://www.pbr-book.org/ This is the PBR Book completely free, you can buy it on amazon to support the authors or read it online for free,

    If you have any more resources that could help me I'd be really thankful!

    I'm sorry for the long post, I hope you can read it and relieve some of my doughts since you're the first person that answered that seems to have a lot of insight of 3d programming, could you tell me if i'm going on the right direction?
u/echelonIV · 2 pointsr/gamedev

I ordered these for our company library, based on recommendations for/from other programmers (of all levels).

ISBN | Title
---|---
978-1568814247 | Real-time Rendering
0321486811 | Compilers: Principles, Techniques, and Tools (2nd Edition)
1482250926 or 0123742978 | Essential Mathematics for Games and Interactive Applications, Third Edition 3rd Edition
978-1482264616 | GPU Pro 6: Advanced Rendering Techniques
1466560010 | Game Engine Architecture, Second Edition
978-1482243567 | Multithreading for Visual Effects
978-0123750792 | Physically Based Rendering: From Theory To Implementation

u/Enkrod · 2 pointsr/webdev

Beeing able to code valid HTML and CSS without any visual help, just by looking at the code-level, should be your first goal. You might be able to learn a lot about it through your Job but I would not depend upon it since it does not seem to go deep enough there.

Right now, disregard Github and all that Jazz, go look for a nice Website with as little JavaScript as possible, make a Screenshot of it and do not look at the code.

Then start building it from scratch. Think about how you would part the sections and place them where they belong, this Book and the website that inspired it helped me a lot with learning good CSS. (Initially, books are your best friends anyway)

The important thing is: Focus on the coding, not the design. Webdesign is a different skillset and can either be avoided or learned seperatly. Do not get hung up on "This just looks bad" before you have the coding down. For now you are only concerned with the coding of HTML and CSS.

When you feel firm (but not perfect) with those you can move on. Now is the Time to decide how you want to apply your new earned skills. If you want to continue developing Wordpress templates I would encourage you to learn the basics of PHP before JS, if you would rather not involve CMS right now you can start by hopping into jQuery. Though there are people who will tell you it's better to learn vanilla JS before you learn jQuery. And I think that's true, but way harder and you won't see as many early, motivating success than starting with the easy-mode that is jQuery.

As soon as you have those 4 down: HTML, CSS, Basic PHP, Basic JS and/or jQuery. You are going to be able to fare way better on the template-front and are more useful to your employer. My guess would be that from then on, as you take on new responsibilities, you will learn more on the Job than you are doing right now.

u/rugtoad · 2 pointsr/funny

Absolutely.

There are a number of different sites on the web, two of my faves are useit.com and webpagesthatsuck.com

The second one will keep you busy for a bit, and will give you a lot of starting points. They have a few checklists that you can kind of go off of...bearing in mind that there are very few "absolutes" in web design...so if you put together a page that, by a definition on that page, sucks...it may not actually "suck" by all meaningful definitions. In the end, content is what wins over everything. You can have a miserable design, so long as it isn't painful to look at, so long as you have content that is captivating and keeps people coming back.


Anyhow, I'd look through those two and get your research-hat on. From those, you can branch out very quickly across the search engines with all of the lingo and concepts in tow.

Additionally, CSS Zen Garden is a great place to see some of the more "artistic" design concepts in action.

The site itself doesn't necessarily give you a lot of direction, but they have a book that I've found pretty helpful with a lot of those concepts (although it's 6 years old, most of the info is still relevant). Additionally, the zen garden has a few resources linked that can again give you a lot of great places to start.

I always tell people who aren't necessarily able to afford a designer but still need something that a few CMS systems out there can also provide you with the tools you need to get something that looks professional enough and can get you started quickly. Joomla and Wordpress are two that have a bevy of different templates that are free, and readily manipulated to give a custom feel. That's usually the direction most people who have a bit of experience with coding but don't know much about design go.

Hope that helps!

u/ttscc · 2 pointsr/androiddev

i would go with opengl es 2.0 rather than OpenGL ES 1.1 and for OpenGL ES 2.0 only this book available and it was really helpfull for me so i highly recommend it.

u/michad24 · 2 pointsr/opengl

Almost all of what I know I learned from this book. When I was learning ES 2.0 there was pretty much no reference material on the subject as nobody used it.

Shaders are pretty simple, however they're a pain in the ass as you have to do everything yourself, which is both an advantage and disadvantage.

u/argo15 · 2 pointsr/learnprogramming

I thought the red book was pretty good, although it uses lots of deprecated code now.

u/przemo_li · 2 pointsr/gamedev

This stackoverflow question
Have some good answers.

Web resources (good)

OpenGLBook OpenGL 4.0

Arcsynthesis OpenGL 3.3


Books (unknown quality, look for reviews)

OpenGL SuperBible 5th Edition OpenGL 3.2 Core

OpenGL 4.0 shading language cookbook OpenGL 4.0 Core

u/ebonyseraphim · 2 pointsr/learnprogramming

You are definitely going to be the rate limiter learning anything so no tutorial or book is going to be much faster than the next. If you understand all of the core concepts of shading languages, then I'd say you should pick up a reference book:

http://www.amazon.com/OpenGL-Shading-Language-Randi-Rost/dp/0321637631/ref=pd_sim_b_1

Or go straight to the reference documentation here:

http://www.opengl.org/documentation/glsl/

If you don't know OpenGL that well and need a more comprehensive graphics programming start I'd strongly recommend this book:

http://www.amazon.com/OpenGL-SuperBible-Comprehensive-Tutorial-Reference/dp/0321712617/ref=sr_1_2?ie=UTF8&qid=1302142851&sr=8-2

u/stormblaast · 2 pointsr/gamedev

I can recommend to you the OpenGL SuperBible: Comprehensive Tutorial and Reference (5th Edition). Note the 5th edition. There is now also a 6th edition coming, but I don't think it's out yet. Really good, modern approach to 3D (OpenGL) with simple code samples that work in Windows, Linux or OS X.

NOTE: This book is not about writing a 3D game engine. This is ONLY about the graphics side of things, which can be overwhelming enough.

u/Steve132 · 2 pointsr/learnprogramming

THIS BOOK

is what you need.

u/SankiMonster · 2 pointsr/Logo_Critique

I highly recommend getting this book.

Your vector work is highly inconsistent, both in terms of style and in technique of chosing the right node points.

Golden ratio. might work for this logo as guidelines to the proportions of the animals etc.

u/linhnv01836 · 2 pointsr/graphic_design

For the curves solution, I recommend Vector Basic Training. Sketch, scan, refine, save your time a lot.

u/baby-monkey · 2 pointsr/web_design

I would go to amazon.com and order a bunch of books. Then read them. :)

Design encompasses a lot of things. You need to learn what it aesthetically pleasing. Some people are just bad at it, but you can learn it to some extent. Go to dribbble.com and other design showcases to get a sense of what looks right... and what doesn't. Learn the basics of design so you have some tools to evaluate it with. (If you don't know about kerning, you never notice badly kerned words etc.) So get the knowledge, then practice.

Then you need to have the abilities to create nice things. That involves doing tutorials and learning to use a program like photoshop and illustrator.

Another part of design is more "logical". You need to learn how people think and use websites. So that you can design with purpose (otherwise you are just making pretty pictures). You need to learn conventions of the web and information architecture.

Then you also need to get a feel for... the "feel" of sites. If you can make great looking sites that are easy to use and nicely organizes it is still not enough. If the design does not represent the company and speak to the target audience it is still a more or less useless website. You need to learn the meaning of colors and the styles of different industries. What looks feminine, what looks childish, playful, high-end, corporate... etc.

So...important topics are: information architecture, basics of design, color theory, photoshop books (to learn raw skills), illustrator books, usability books... there are also specific web design books that cover several topics briefly.

This is a great one:
http://www.amazon.com/Things-Designer-People-Voices-Matter/dp/0321767535/ref=sr_1_1?ie=UTF8&qid=1332011684&sr=8-1

Alternatively, read web design blogs. Start with Smashing Magazine.., they have a whole network. Go to "network" and then you can find a lot of other blogs.

u/-t-o-n-y- · 2 pointsr/userexperience

If she's interacting with a lot of users I would suggest reading Practical Empathy. Observing the User Experience is another great resource for learning about user research. User experience is all about people so it's always a good idea to read up on human behavior, psychology, cognition, perception, learning and memory etc. e.g. books like Hooked, Bottlenecks, Design for the mind, Designing with the mind in mind, 100 things every designer needs to know about people, 100 more things every designer needs to know about people, Thinking fast and slow, Predictably Irrational and I would also recommend Articulating design decisions and Friction.

u/chromarush · 2 pointsr/userexperience

I am self taught and design applications for human and system workflows at a Internet security company. I am biased but I don't think a degree will necessarily give you more hands on skills than just finding projects and building a portfolio to show your skills. There are many many different niche categories, every UX professional I have met have different skill sets. For example I tend in a version of lean UX which includes need finding, requirements validation, user testing, workflow analysis, system design, prototyping, analytics, and accessibility design (not in that order). I am interlocked with the engineering team so my job is FAR different than many UX professionals I know who work with marketing teams. They tend to specialize very deeply in research, prototyping, user testing, and analytics. Some UX types code and some use prototyping tools like Balsamiq, UXpin, Adobe etc. There is heavy debate on which path is more useful/safe/ relevant. Where I work I do not get time to code because my team and I feel I provide the best value to our engineering team and internal/external customers by doing the items listed above. The other UX person I will work with me on similar activities but then may be given projects to look at the best options for reusable components and code them up for testing.

TLDR:

u/interactivejunky · 2 pointsr/webdev

If you want to have a bit more of a broad understanding of design then check out 100 Things Every Designer Needs to Know About People ... it's a nice way of understanding the 'why' of design which will compliment your more practical learning.

u/shiftyeyeddog1 · 2 pointsr/UXDesign

Is there opportunity at your company to conduct user research? Is there a team devoted to it or do senior designer do research? Have you stumbled across situations where research would help you answer questions about your designs and prototypes?

Having a more advanced degree in some form of research, psychology or advanced UX/HCI would be beneficial if what you really want to do is research. Most of the user researchers I work with have masters in market research or user research and also teach classes to undergrads.

However you do not have to have a degree to learn it. There’s a few books out there that can help, such as Interviewing Users: How to Uncover Compelling Insights or Validating Product Ideas: Through Lean User Research

I also love this book that doesn’t have much to do with research but more about the behavioral science behind user interactions
100 Things Every Designer Needs to Know About People (Voices That Matter) .

u/cheeseballtaco · 2 pointsr/web_design

I think that there are many ways of learning UX. What I have found that I use most often is googling something like "Modern web design UX" and I try and recreate those myself and so my brain just knows what to do. Here are some cool books I have read that I found very useful.
https://www.amazon.com/Things-Designer-People-Voices-Matter/dp/0321767535/ref=sr_1_1?s=books&ie=UTF8&qid=1509069574&sr=1-1&keywords=100+Things+Every+Designer+Needs+to+Know+About+People%E2%80%8A%E2%80%94%E2%80%8A+Susan+Weinschenk

and

https://www.amazon.com/About-Face-Essentials-Interaction-Design/dp/1118766571/ref=pd_lpo_sbs_14_img_0?_encoding=UTF8&psc=1&refRID=T2H4X09K5XV9Y2HPT56N

good luck friend

u/Andallas · 2 pointsr/gamedev

For #2 I can't recommend this book enough;
Link
It's specifically for openGL, but nearly the entire book is about shaders. This is because 'modern' openGL is pretty much all shaders.

It's currently version 4.3, and I believe openGL is now on version 4.4, but you should be able to google whatever may have been added with a minor version update.

I'm not sure of the differences between what UE4 uses (haven't checked it out yet) and openGL, but it will definitely be a great book to have regardless.

u/malexw · 2 pointsr/learnprogramming

Amazon Link

Apparently it's going to cover version 4.1, and won't be out until December. But I could have sworn that when I was looking at it 3 weeks ago that it covered version 4.0 and was due for release on October 1.

Actually, I remember looking at it back in March and I seem to recall a May 1 launch date back then. So this seems to be at least the second delay now.

u/kraytex · 2 pointsr/programming

Have you read the Big Red book? It helped me a lot.

http://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321773039

u/Miraculousname · 2 pointsr/androiddev

You can look into Cordova/Phonegap for development of hybrid apps. It might be easier and more straightforward to get something running on both IOS and Android if you're comfortable with web development. If you want to go native, there's a good Android intro course available here. It should set you on a right path (the course is over, but the material should be accessible). Also, you can consider this book

u/sauceLegs · 2 pointsr/javahelp

If you have an understanding of how object oriented programming works, The Big Nerd Ranch guide to Android Programming is a great book. Not too expensive as far as CS textbooks go. If you aren't familiar with OOP or Java, though, you should start with basic programming in Java before moving on towards Android specific learning.

u/phone_radio_tv · 2 pointsr/androidapps
u/eoin2017 · 2 pointsr/ireland
u/Crafty-Deano · 2 pointsr/learnprogramming

I know from experience the Big Nerd Ranch books are one of the "goto" resources for Objective C and iOS development, I have never tried their Android book but it is highly rated on amazon.

http://www.amazon.com/gp/aw/d/0321804333/ref=redir_mdp_mobile?pc_redir=1395670735

u/Dilligaf_Bazinga · 2 pointsr/androiddev

Something like the big nerd ranch for android is great:
Amazon Link

Focus more on the language and the Android SDK itself and less on the IDE.

u/KiranPanesar · 2 pointsr/iOSProgramming

Just jump straight into Objective-C, in my opinion.

I started out by reading this and then got into iOS development from there.

Whatever your decide on learning, my advice is to just push yourself with crazy projects. Your project will require a fairly decent understanding of Obj-C and iOS development, so I'd start by reading that book and then find some cool apps to work on to sharpen your skills.

Once I had read that book, I read around for a while and created an iOS implementation of Pong. That was such a learning experience as it really brought together a lot of skills I had been learning as well as forcing me to learn a whole load of new, incredibly important skills.


TL;DR: Just learn Objective-C first, C might be a bit too 'scary'.

u/leolobato · 2 pointsr/iOSProgramming

I've got started on iOS programming 3.5 years ago reading the Kochan Objective-C book (probably the 3rd edition).

I am (was) an experienced programmer and found Kochan very helpful, specially on the memory management side of it. Learning C came after that, when I needed to do something that required more performance on iOS.

I also read part of Hillegass Cocoa book because I had it at hand, which got me a good starting point to learn Cocoa Touch online.

u/oureux · 2 pointsr/learnprogramming

Go through the WWDC videos, Apple Docs for specific info about different aspects of the language and how it works, Programming in Objective-C (5th Edition) (Developer's Library), and if you want to know more of the fundementals of the C language then you could pick this book up C Programming Language (2nd Edition), it will help you with general programming practices.

u/caughtinflux · 2 pointsr/jailbreak

tomf64 has explained it well. I'd like to add a little more to that, however. All the links he has given use Theos as the build system, and Logos for some nice syntactic sugar that Dustin Howett was kind enough to grace us with.


However, to be an effective developer, one must understand what is going on behind the scenes. For that, I'd suggest to pick up a nice book for learning Objective-C. Programming in Objective-C by Steve Kochan is a great book to start, in my opinion.


Once you're through with that, use Google to find and read one of the tens of thousands of "Get Started With iOS Development" tutorials (Like this one). The concepts taught there will be really easy to pick up, assuming you have a fair understanding of Objective-C. Write a few little apps for yourself, make sure your fair understanding expands to the hows and whys of everything.


Writing a tweak is a different beast altogether. It requires some knowledge of programming patterns (usually Apple engineers', you'll see them with experience), some guess work, and a lot of patience. You'd also do well to know how the Objective-C runtime works. Tweaks rely on the openness provided by it to get the job done. This is a great article to get you started, after which Apple's own Runtime Reference teaches you how to use everything.


If you have gone through all of these the articles provided by tom will suddenly make a lot more sense that they did before. The point of this comment is not to intimidate you, but I have seen a lot of newbie devs jump right into tweak making without having their basics clear. Then they're simply like a fish out of the water. Feel free to ask me anything more you may want.

EDIT: Actual line breaks. Whoops.

u/PapstJL4U · 2 pointsr/funny

A change in mind is good start. The Inmates are running the asyslum and About Faces both from Alan Cooper are good books.

u/extraminimal · 2 pointsr/AskReddit

I'd be glad to. To start, here are some terms to look for:

  1. IxD / Interaction Design
  2. UX / User Experience Design
  3. HCI / Human-Computer Interaction
  4. Goal-Directed Design

    "The Crystal Goblet" explains the aim of print design, which is a good precurser to reading about interactive design media.

    As far as books go, I strongly recommend About Face 3: The Essentials of Interaction Design. It's a fairly long book, but it's worth reading to build a strong foundation of understanding in IxD.

    A lot of IxD is about effectively using visual design to achieve goals. If you want to understand the visual tools of IxD after finding the theory interesting, you might read the mistitled Layout Workbook (or any other overview book; it's not actually a book about layouts — nor a workbook), followed by Bringhurst for advanced traditional typography.

    Rocket Surgery Made Easy and other Steve Krug books are commonly suggested for more IxD topics, but I haven't gotten around to reading them. It's likely they're lighter reading than About Face 3.
u/dragoninmyanus · 2 pointsr/NoStupidQuestions

You get the recording first and animate around it.

In CGI, you'll typically animate the character first so that their movements match the highs and lows of the voice clip. Then you animate the face by playing back the audio very slowly and figuring out the phonemes that are used to make that sentence. Phonemes are shapes that the mouth makes to make a sound. like OO AA GK TH FF.

Characters are typically 'rigged' to allow the greatest amount of expression for the least amount of work. Sliders are combined to create many different phonemes in a smart way. For example one slider controls both OO and a wide mouth-shut smile. Because you can't smile while doing OO, and you can combine wide with open jaw to make the AA phoneme, or you can use wide at only half strength and open jaw at half strength to make EE, combine that with sneer/raise upper lip and you get GK.

https://www.youtube.com/watch?v=1nAWqQSH7fk

The book Stop Staring is the industry standard for how to set up 3D faces.

For 2d work, it's pretty much the same, listen to the audio slowly and break it down into each phoneme and then draw each one.
The Nightmare Before Christmas movie was very clever with this and made an entirely separate head for Jack for each Phoneme he would speak, and used computer software to help them time when to swap heads.
If I recall there's something like 47 different phonemes.

u/scriptedpersona · 2 pointsr/3DMA

For any animator Animator's survival Kit by Richard Williams is a must I use it pretty much every single day. Another great book I use is Stop Staring I have the third edition by Jason Osipa. Those are my two main books I use. Aside from that learning online is a great resource with websites like digitaltutors.com also Lynda has some decent starting resources. Finally something that might really help you out is the community, go to 11 second club and get critiques or join in on the competitions to help yourself improve. Hope this helps!

u/smithincanton · 2 pointsr/Maya

Stop Staring is an excellent face rigging book.

How to Cheat in Maya is another good one.

Maya Studio Projects Texturing and Lighting is another sold book.

That should get ya started!

u/starheap · 2 pointsr/gamedev

Honestly my favorite book so far is the opengl superbible 7e
https://www.amazon.com/OpenGL-Superbible-Comprehensive-Tutorial-Reference/dp/0672337479

u/kylemit · 2 pointsr/ProgrammerHumor

The key distinction to make here is the difference between Learnability VS Usability

From an Excerpt on CodingHorror:

>In Joel Spolsky's excellent User Interface Design for Programmers, he notes the difference between Usability and Learnability

>> It takes several weeks to learn how to drive a car. For the first few hours behind the wheel, the average teenager will swerve around like crazy. They will pitch, weave, lurch, and sway. If the car has a stick shift they will stall the engine in the middle of busy intersections in a truly terrifying fashion.
>If you did a usability test of cars, you would be forced to conclude that they are simply unusable.

>>This is a crucial distinction. When you sit somebody down in a typical usability test, you're really testing how learnable your interface is, not how usable it is. Learnability is important, but it's not everything. Learnable user interfaces may be extremely cumbersome to experienced users. If you make people walk through a fifteen-step wizard to print, people will be pleased the first time, less pleased the second time, and downright ornery by the fifth time they go through your rigamarole.

>>Sometimes all you care about is learnability: for example, if you expect to have only occasional users. An information kiosk at a tourist attraction is a good example; almost everybody who uses your interface will use it exactly once, so learnability is much more important than usability. But if you're creating a word processor for professional writers, well, now usability is more important.

>>And that's why, when you press the brakes on your car, you don't get a little dialog popping up that says "Stop now? (yes/no)."

u/ArnoldRudolph · 2 pointsr/UofT

Can you do a minor in math? That would be ideal in my opinion.

Make sure to take the courses that I listed. They will be very math heavy, if you want to go in this direction then you should at minimum do MAT235 and preferably MAT237 or higher. Graphics as you may know already is very heavy with linear algebra, but you also will need concepts from multivariable calculus.

This is a very rough road and you will probably want to dedicate your life to it. There aren't that many spots to make a career out of it but there's not as much competition due to how insane this field is... and the only people who go into these areas are people who really love this stuff so that is your competition. Please make sure you are ready for this and if you're not doing much this summer then pick up OpenGL, Direct X or Vulkan (however don't do Direct X 12 or Vulkan if you're completely new unless you've got experience in rendering already).

It may be to your advantage to build a software renderer to understand everything, so you will want to begin here for graphics theory, and your practice interview for graphics should be satisfied by this for starters. If you want to build a software renderer first before jumping into OpenGL or such, this book with the later chapters only (because the first half is all assembly optimization and not that relevant anymore as our compilers are pretty good now) will help a lot. Having said that, doing a degree while studying for all of this will be quite hard, this will be a marathon and not a journey. I would skip the black book though if you find yourself swamped for time. This is also a great book for when you have a weekend to spare.

You should also be making sure you're damn good at C or C++. If you choose C++, then you've got probably 2-3 years of solid work before you're competent in the language. You should also focus on optimization, but do that after you've spent a year with the language. Yes... even the cache lines that CSC369 never covered becomes absolutely critical in at least real time graphics.

You should be doing at minimum CSC418 and maybe CSC320 as well for courses, outside of any math ones.

Finally, I hope you are ready to join the nerd ship, because there's no way in hell you're going to be doing much in your spare time for quite a while... if you have a relationship then it'll get probably a bit rocky. Doing this kind of graphics work puts you in the top tier of street credibility because this area is so vast, since your life will no longer be normal by any stretch of the imagination. Maybe later it will be when you have a job, but for the next few years you are going to be buried.

Also, if you choose to do OpenGL, please at least start at OpenGL 3.3 and use the core profile and not the crufty ancient immediate mode stuff. This site will be an amazing and wonderful tool for you and keep you modern. I know very little of DirectX so I cannot comment on that.

u/pier25 · 2 pointsr/creativecoding

I started with Flash back in the late 90s. This is the book that really got me into creative coding and of course the bible of Flash animation by Robert Penner.

u/flashaintdead · 2 pointsr/flash

Also, Keith Peters used be the Flash genius. Check out his Making Things Move books http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915. They maybe a bit complex for new Flash devs but you will be taught OOP from the start.

u/lycium · 2 pointsr/cpp

Here ya go, the best programming fun you'll ever have: https://www.amazon.com/Ray-Tracing-Weekend-Minibooks-Book-ebook/dp/B01B5AODD8

u/soundslikeponies · 2 pointsr/GraphicsProgramming

Real-time: you'll be using an API such as OpenGL or DirectX. The first 400 or so pages of this book serve as a good introduction to real-time rendering with OpenGL. The rest of it serves as a good intermediate lesson.

In real-time graphics you mostly use an API to put data (position, UV mapping, surface normals, etc) into buffers which are sent to the GPU. You then write shader programs (vertex shader, pixel shader) which run on the GPU, process the data from the buffers, and output a result. That's a the basic summary of an update loop.

Non-real-time: you can write a ray tracer or other kinds of image-producing graphics programs from scratch. Ray Tracing in One Weekend is cheap and I've heard it's a pretty solid starting point. It also has sequels if you decide you want to take things further.

A ray tracer essentially sends out a ray for each pixel of the screen. You check to see if this ray collides with any surfaces, calculate the color at the location of that collision, then set that as the pixel's color.

You can also look at image processing, as an alternative to 3D computer graphics. A lot of image processing is signal processing, similar to audio, but on a 2D plane. Filters, edge detection, image manipulation or generation can be pretty interesting topics.

u/biilly · 2 pointsr/javascript

I wrote a library Doodle.js, in the examples I ported the book code from Making Things Move - which goes into more detail about how the examples work. That should get you going.

u/Darkhack · 2 pointsr/software

Don't Make Me Think is a popular book on usability that I often see cited.

Joel Spolsky from Joel on Software also wrote a book, User Interface Design for Programmers

u/firecopy · 2 pointsr/cscareerquestions

Pleasure Reading Book (but still a little related to programming): https://www.amazon.com/Mazes-Programmers-Twisty-Little-Passages/dp/1680500554

Also, if someone can give a book recommendation about cryptocurrency, that would also be a fun read.

u/armadillo_turn · 2 pointsr/AskProgramming

I like the book "Mazes for Programmers" by Jamis Buck, which deals with the creation of mazes.

u/AlSweigart · 2 pointsr/learnprogramming

Focus on UI design.

A lot of people tend to think of programming as very math-heavy (it's not, unless the domain you're writing software for is weather simulations or something that itself requires math). So we end up thinking the technical side is important and the "soft skills" are unimportant (or at least, not worth including in our study time).

I'm old enough now where I still like programming, but I've realized I don't care about code; I care about making software that people actually use and find useful. Building a tesla coil in your garage is cool, but so what tons of geeks have done that. I want to make something useful, and it doesn't matter how elegant your algorithms are if your program is confusing, unusable, or solves the wrong problem.

I'd recommend these books, in roughly this order:

u/FredFredrickson · 2 pointsr/gamemaker

I would highly recommend this book: Mazes for Programmers: Code Your Own Twisty Little Passages

I spent a few weeks working through it and it taught me a lot about iterating through grids to create mazes and paths - including an implementation or two of Dijkstra's pathfinding algorithm.

u/someprimetime · 2 pointsr/compsci

I've always been a HCI/UI kind of guy. The professor was thorough, and I'm not knocking him, but a lot of it was common sense to me. I think the discipline is very relevant, and if you are going into an industry where you will be making some sort of product, you'll need to know how to properly design things. We had some exercises where we'd bring in an object and critique it (such as a remote control, car alarm) and find why it worked, and why it didn't. For programmers who haven't had design experience, I recommend reading: http://www.amazon.com/User-Interface-Design-Programmers-Spolsky/dp/1893115941/ref=sr_1_1?ie=UTF8&qid=1303676896&sr=8-1 .

I'd rather have taken an Operating Systems course, but couldn't since it wasn't offered at a time that would coincide with my schedule (offered every other Fall).

u/TroubleInMyMind · 2 pointsr/trees

Great book. But a lot of those look like grow books. I see Jorge Cervante's book in that pile, one of my favorites. As well as Ed Rosenthal's growers handbook in the upper right corner

u/phishin · 2 pointsr/houstonents

I will try to remember and bring this book: http://www.amazon.com/books/dp/0932551467 if anyone would like to flip through it and learn something. Most everything in this book can be found on the internet but it might ignite some interesting conversation.


Also I was over on /r/seaents and I came across this: http://nwcannabismarket.com/ <---that is a beautiful thing.

u/its_my_growaway · 2 pointsr/cannabiscultivation

I remembered I have one of the most popular growing books as an eBook. Here is a link to download Ed Rosenthal's Marijuana Grower's Handbook. If you feel conflicted about pirating books you can buy it from Amazon also. The other really popular growing book, Jorge Cervantes Marijuana Horticulture, can be found here.

u/anonoben · 2 pointsr/freelance

Not all web dev work is making websites from scratch. Plenty of companies have websites already that they would like to add functionality to.

If you do have clients that want you to handle design you can subcontract without cutting into your costs too much. Designer hours are cheaper than programmer hours. If you really want to do it yourself, I'd recommend Don't Make Me Think for usability and The principles of Beautiful Web Design for making it pretty.

Other suggestions here are good. Use bootstrap and Kuler.

Don't learn flash.

u/emptynestingent · 1 pointr/trees

If you end up with basic questions as you go through the process feel free to ask. I have been growing at home for about three years now and although I am not an expert I have made a lot of mistakes and learned by them. My grows have been great since getting this book, my copy is actually signed!! http://www.amazon.com/Marijuana-Growers-Handbook-Complete-Cultivation/dp/0932551467/ref=sr_1_2?s=books&ie=UTF8&qid=1343836313&sr=1-2&keywords=growing+marijuana

I met Ed at HempCon in San jose a few years ago.

u/shilabula · 1 pointr/eldertrees

There are some good books to get going - this is one of the easiest and best written:

Marijuana Grower's Handbook: Your Complete Guide for Medical and Personal Marijuana Cultivation

u/refto · 1 pointr/linux

I realize Spolsky is not considered relevant any more but his UI book is a pretty decent intro: http://www.amazon.com/User-Interface-Design-Programmers-Spolsky/dp/1893115941

u/dutchpassion · 1 pointr/trees
u/lookatthesource · 1 pointr/Marijuana

A bale of cocogro or cocotek, some CannaCoco A&B or BioVega+BioFlores for organic , some Garden Lime from Lowes, a tent, an led, a light timer, a carbon filter and fan, and a guide book.


Ask Ed's coco guide works well for basics


Micks Coco guide is also good using just MaxiBloom

u/Entropian · 1 pointr/blender

I've written a path tracer before, and I did it by modifying my ray tracer. A path tracer is really just a ray tracer that traces even more rays. The difference between them is really not that great. The same data structures can be used for either. There's a book called Ray Tracing in a Weekend, and it teaches you how to write a path tracer. The book's written by Peter Shirley, who's kind of an authority on the topic.

Nowadays, no one talks about ray tracing in the strict way that you do. People will some times refer to different things like path tracers, bidrectional path tracer, and photon mappers all as ray tracers. DirectX Raytracing is definitely not just limited to ray tracing as you described. If it was, it wouldn't be much use to anyone.

u/curiosity36 · 1 pointr/microgrowery

Go with the classic. Ed Rosenthal's Marijuana Grower's Handbook. It'll set you up right with all the knowledge, solid foundations, and the right attitude.

http://www.amazon.com/Marijuana-Growers-Handbook-Complete-Cultivation/dp/0932551467

u/ryptophan · 1 pointr/learnprogramming

I've heard good things about The Principles of Beautiful Web Design.

u/PriscaDoulos · 1 pointr/gaming

I was more surprised by Michael Abrash, the guy is a genius when it comes to assembly and was essential to the development of Quake, even AutoCAD's line drawing algorithm from when there was no hardware acceleration is his creation. That book is worth reading even with the assembly part being outdated, merely because of the historical side and the creativity he shows to optimize solving problems.

u/an_ancient_cyclops00 · 1 pointr/truegaming

Also read up on Abrash's book.

http://www.amazon.com/books/dp/1576101746

The last couple chapters goes into when Abrash was with iD and was there with Carmack when he was coming up with the following: " Optimized solutions to 3-D graphics problems from texture mapping, hidden surface removal, and Binary Space Partitioning (BSP) trees are explained."

u/Madsy9 · 1 pointr/opengl

You didn't post a question, so it's difficult to know what exactly you want. If you just need to implement space partitioning with a BSP tree, read the good old BSP FAQ

If you need more general graphics background, check out:

  • Websites like Flipcode and GameDev.net

  • Buy some books. GraphicsGems and Michael Abrash's Graphics Programming Black Book are maybe old, and the code examples are certainly outdated (They are from the old MS-DOS mode 13h VGA days), but they are excellent in teaching you the fundamentals of computer graphics theory that never gets old. Like how polygon rasterizers work, space partitioning, polygon clipping, etc. When you want to learn more about more advanced effects, look into the Real-Time Rendering series. For a slightly more updated book on the same topic, check out 3D Math Primer for Graphics and Game Development, but I think it's a bit thin for the price (I have the 1st edition myself).

  • Forums with people who actually specializes in computer graphics, like Ompf2 and DevMaster

    If you have more questions, please be more specific. I might help you with more resources.
u/theunfilteredtruth · 1 pointr/truegaming

You are correct that it isn't really 3d, it is lots of 2d shapes rendered to look like 3d.

The DOOM Engine did something unique though which made it so much faster than the other games. In other games, the rendering process would be like you said; start from things farthest away and rendering until you get close to the player. Abrash and Caramack implemented Binary Space Partition (BSP) tree creation that was used to quickly figure out which part of the maps did not even have to be considered to render.

This is a great link showing how the BSP was referenced all the time during gameplay and how the calculations worked.

http://fabiensanglard.net/doomIphone/doomClassicRenderer.php

I think you also might be interested in buying my fav book, Michael Abrash's Graphics Programming Black Book. It has a lot of discussion on 3d engines including how the DOOM/QUAKE engines were built and their weaknesses but also includes anecdotes during their development. Quake still used BSPs, but built a whole new process (QVIS) where the compiling calculated exactly what surfaces a player could see from any position in the map and know which surfaces to load because they might see it soon (like rounding a corner).

https://www.amazon.com/Michael-Abrashs-Graphics-Programming-Special/dp/1576101746

u/jbplaya · 1 pointr/learnprogramming

I think this is the bible of Actionscript Physics, Foundation Actionscript 3.0 Animation: Making Things Move

u/2_legit_2_quit · 1 pointr/FlashGames

I'm still trying to learn myself, but I have these two books (among a few others). I'm still working through them, so I can't give a full review, but I've seen these highly recommended from several people.

http://www.amazon.com/Foundation-Game-Design-Flash-Foundations/dp/1430218215/ref=sr_1_1_title_1_pap?s=books&ie=UTF8&qid=1394050917&sr=1-1&keywords=foundation+flash

http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915/ref=sr_1_1?s=books&ie=UTF8&qid=1394051018&sr=1-1&keywords=foundation+actionscript


These will give you the basics to help you move on to more advanced topics. You won't be making extremely complicated games with these, but it's a start. I've tried going the online video route and youtube tutorials, and it's too scattered for me. I spent more time bouncing through different videos than I did learning. I really like the book process because it gives you a clear path of learning.

There is a more updated version of the Foundation Game Design with Flash (think it's called Game Design with ActionScript), but I heard it's not quite as good, although I haven't directly compared and contrasted them.

Also, make sure you buy these used. You'll end up spending maybe $15 total, which is way cheaper than a month watching videos on Lynda.

u/dWillPrevail · 1 pointr/gamedev

For a basic introduction to the concepts of 3D, Keith Peters' Foundation Actionscript 3 Animation has some really cool chapters on creating ground-up 3D and is in your native language. The AdvancED version, released afterwards, surprisingly lacked any chapters on 3D.

I followed it recently and did this (extremely simple) proof of concept following only the text in that book and sprinkling a little of my own flavor to it. If you'd like the source, PM me.

You'll have to learn how to translate it to the Molehill APIs and the new datatypes (float, float4, Vector, Matrix3D) but I highly recommend it. After doing the earlier demo, I've gotten my head around it and have been getting right into the molehill stuff.

Edit: Note that the demo above is not in molehill, nor is the book, but translating from one to the other isn't the difficult part.

u/Mofy · 1 pointr/gamedev

AS3 animation

great book on maths for animation...

u/JackSaundersDesign · 1 pointr/web_design

Get him either of these Sitepoint books

Principals of beautiful web Design


or Sexy Web Design

Both Very good Books

u/shebillah · 1 pointr/web_design

I'm a big fan of the book The Principles of Beautiful Web Design. It's not too long and I read it in two evenings but it's definitely a book that I'm going to keep handy for reference.

u/doctahaze · 1 pointr/microgrowery

They teach Ed Rosenthal apparently at Oaksterdam University in Cali.

https://www.amazon.com/gp/aw/d/0932551467/ref=dbs_a_w_dp_0932551467

I found all the popular grow books on Library Genesis too.

u/treefarmercharlie · 1 pointr/microgrowery

I would highly recommend getting this book. There are a lot of good websites, too, but I've personally learned more from that book than from any of the websites.

u/saturdayplace · 1 pointr/Python

I built Python implementations of the stuff in Mazes for Programmers and it was a bunch of fun.

u/RiSC1911 · 1 pointr/starcitizen

One of the Bibles of PBR was first published in 2004, i have a copy of it here at home. It's available on Amazon

I think i saw the first discussions on the NVIDIA Developer site around 2000. Long before use in games and adaption into shaders it was widely used in traditional non realtime render software.

u/c0d3M0nk3y · 1 pointr/computergraphics

Hey mate,

Thanks a lot for the feedback... it seems i will give up on the Ray tracing from ground up book... perhaps the author has abandoned it a long time ago

It seems I will go with Physically Based Rendering: From Theory to Implementation

Thanks mate

u/Leandros99 · 1 pointr/gamedev

You don't buy much academic books, do you? It's in the mid price range, books like pbrt are $90.

u/shitballsandgravy · 1 pointr/web_design

This is the best CSS book I've ever read. It's more or less what made CSS click for me after learning from places like w3schools. How it teaches by example was perfect for me. The Zen of CSS Design: Visual Enlightenment for the Web

u/blktiger · 1 pointr/programming

The Zen of CSS is a great book.

u/LuluDarkWing · 1 pointr/graphic_design

I recommend this book: The Zen of CSS Design: Visual Enlightenment for the Web

And checking out the website for it: css Zen Garden

This is a good site too, that I find a lot of my searches for how to do a certain something lead me there: http://css-tricks.com/

u/iw6 · 1 pointr/programming

actually, this book provides a glsl es 2.0 vertex shader that fully emulates the gl es 1.1 fixed pipeline.

u/RonnieRaygun · 1 pointr/programming

You're absolutely right. I'm forced to admit that I don't have a good overview of the OpenGL books currently on the market, so I can't claim to know if any of them actually teach a modern usage of the API.

However: it should be noted that the OpenGL ES 2.0 spec does eliminate the old immedate-mode API. As such, an ES 2.0 programming book might fit the bill well.

Here's one

u/Shudderbird · 1 pointr/learnprogramming

I'd recommend learning OpenGL ES for the modern day sake of things - keeps it simple and to the point, only explaining things you need to know. I am reading this book currently and I cannot recommend it enough.

u/corysama · 1 pointr/GraphicsProgramming

I learned from the infamous "Red Book". But, that was long, long ago in a university far, far away. Even the 7th edition of that book only covers OGL 3.1... These days, any of the tutorials in the sidebar of r/OpenGL would be good.

u/Asyx · 1 pointr/gamedev

Superbible

This should be really good and the most important of the following books. I ordered it on the 25th and it comes tomorrow. It is more like a tutorial or a guide than just a reference.

Official Reference

This is more a reference as far as I know. This is the official book so I think that you'll find more deep informations in this book. The Superbible could contain some nice tricks as well.

Shading language!

For the shading language. Has a few pictures in it so it could be good for some shaders.

I got these book from a guy on IRC. He said he wrote some driver stuff for Apple and made the planet and asteroids demo on the WWDC. I don't know if I can believe him but I felt like he is a clever OpenGL guy and the whole IRC channel said so as well.

BTW: Don't buy OpenGL 4.x stuff. Apple hasn't even implemented OpenGL 3 completely.

u/distractedagain · 1 pointr/gamedev

A couple of things in response to you and others.

First of all OpenGL has excellent documentation. The specification is detailed and complete for one though I admit, probably no one should start with that.

I own the following 2 books which are excellent and the first has been out for over a year and you can download the code for both.

http://www.amazon.com/OpenGL-SuperBible-Comprehensive-Tutorial-Reference/dp/0321712617/ref=sr_1_2?ie=UTF8&qid=1319148333&sr=8-2

http://www.amazon.com/OpenGL-4-0-Shading-Language-Cookbook/dp/1849514763/ref=sr_1_1?s=books&ie=UTF8&qid=1319148364&sr=1-1


I started from no knowledge of OpenGL and using that first book I've learned the majority of the API. I bought it and used it for my upper division graphics class while everyone else was using OpenGL 1.1 and the professor didn't mind as long as I did the assignments. I've rewritten math and some of the helper code that comes with it and I use my own classes to wrap the VABO's (ie one glGenVertexArrays per mesh). It's not hard. I've also taken and modified some of the code from the second book which I just recently purchased.

Finally the new orange book will be coming out soon if the blue book isn't enough for you:
http://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321773039/ref=sr_1_3?s=books&ie=UTF8&qid=1319148522&sr=1-3


Also I think people should start with the Blue book instead of 4.0/4.1/4.2 stuff so they'll be able to use the new Core API (no deprecated cruft) while still supporting 3+ year old graphics cards. ie don't use subroutines or the 2 new tessellation shader stages but you can still use the geometry shader etc. Learn that after so if you choose to you can knowingly limit your audience.

Finally I have a question for you. Why do you disable the attribute after drawing? I enable the appropriate attributes for every VBO I create (wrapped in a class function) and I never disable any. I draw things with multiple shaders, some with position, normal, texture coordinates and some with only position etc. and it's never caused a problem. I've never seen sample code that disables an attribute. The documentation (3.3) for glEnableVertexAttribArray() doesn't say that it only applies to the currently bound VABO.

Wait a second, I didn't realize that you're just using the "global" scope buffer objects and not even using VABO's. They make it much easier.

Also the new API makes it easier to understand what's going on under the hood. I started a software renderer and the farther I got the more I appreciated why they did/do things the way they do in 3.3/4.x . I think I'll end up just implementing a proper subset of the API as a software renderer (with function shaders instead of compiled GLSL of course).





u/EnsErmac · 1 pointr/graphic_design

I don't think that there is a better book about learning any of the vector drawing apps that Vector Basic Training. It is pretty much a book that is set on teaching how to use bezier curves better than anything else.

u/irriadin · 1 pointr/infj

Sorry, three weeks later and here I am!

It's hard for me to give advice in a way, because my path into design was quite unorthodox. I started as a computer science major in college, but quickly shifted into a more broad "Information Sciences and Technology" which included human-computer interaction but also things more networking related. It was a great "catch-all" for various technology-related fields. I ended up enjoying the HCI part the most by far.

My first "real" job was working for an agency as one of their developers. I can distinctly remember hearing how the creative director had started as a coder and moved entirely into design and for a while that notion was appealing to me. I taught myself design on the side, devouring many books and carefully examining the site designs created by our designers.

A few years later, I was working for a college as their web manager and saw a window of opportunity; they were beginning the process for a website redesign. Almost as a lark, I pushed out what I thought the new website should look like and presented it to the other members of the web committee. They all liked my design and decided to work in-house with me as the designer and principle developer.

So my advice for you is perhaps a little generic, but I think still helpful: never stop learning. Keep reading all you can about UX, UI design, HCI, and the industries that interest you for product design. If you see an opportunity to grow professionally, whether that is a promising job offer or some project that has just coalesced, be bold and try your hand at it. Don't talk yourself out of a chance to grow before even trying; it's an easy pitfall.

For breaking in: read all that you can, for example this book is an excellent resource and quick read. Have an opinion on everything; for the things that you don't know, be curious and thoughtful. Recognize what makes for a bad user experience and what makes for a good one. Be empathetic.

Hope that helps. Good luck to you!

u/abhisharma2 · 1 pointr/webdev

I think getting a baseline of UX fundamentals is much needed, otherwise you'll be copying other UI patterns that won't necessarily work for your site. I would suggest "100 Things Every Designer Needs To Know About People" by Dr. Susan Weinschenk. And after that, learn how to sketch out layout and UI patterns by hand. It's shocking how much you'll start to question your layout just by that 15 minute exercise instead of diving right into a Bootstrap theme.

http://www.amazon.com/Things-Designer-People-Voices-Matter/dp/0321767535

u/robsnell · 1 pointr/programming

I love Susan Weinschenk!

This list quotes from her book: http://www.amazon.com/dp/0321767535/ref=rdr_ext_tmb

See page 193.

/edited.

u/NihonNoRyu · 1 pointr/cscareerquestions

You could look at 3d graphics programming, threading or distributed programming.

Or webGL, HTML5,CSS, JS

WebGL Programming Guide

OpenGL Programming Guide

Real-Time Rendering

The Art of Multiprocessor Programming

Beej's Guide to Network Programming

u/AlternativeHistorian · 1 pointr/learnprogramming

It's a little more complicated than the type of thing that I could normally explain in a Reddit comment. For a full understanding you need at least a basic working knowledge of linear algebra.

Here's a decent overview. If you can grok all that you'll have a good understanding of how the PROJECTION and MODELVIEW matrix interact and how OpenGL uses it to project your 3D scene into a 2D plane.

If you're using low-level OpenGL (as opposed to a higher-level library on top of OpenGL) you have to understand this stuff to have any real control over what you're doing when you manipulate the PROJECTION or MODELVIEW matrix. Typically, a higher-level library would wrap all this stuff up in a Camera class or similar to protect you from the nitty-gritty.

I don't know what the standard OpenGL learning resource is now, I learned from "the red book" which was considered the standard back when I read it.

u/mfosker · 1 pointr/androiddev

I also came to Android development after a 10 years break from professional programming and no Java experience at all. I'd done some Javascript and Flash in the past, not much, but enough understand the Java syntax.

I found the Big Nerd Ranch Guide to be an excellent primer. I worked through about the first 3rd of the book to get to grips with the basics and then found that I understood the online tutorials a lot better. So I recommend that book.

I also recommend starting out with the Android Developer Tools bundle from Google, which includes Eclipse, the SDK and the Java stuff you need. Android Studio is better, but almost all the tutorials on the web and in books show you Eclipse. Once you've got your head around the Android part of it then have a look at moving to Android Studio.

u/saadqu · 1 pointr/learnandroid

Is this the book you're referring to?

u/johnbentley · 1 pointr/androiddev

Android Programming: The Big Nerd Ranch Guide gets good reviews on Amazon.

By chance does it have a section on either of:

  • Creating an AsyncTask to persist through runtime configuration changes (such as when the user changes the screen orientation); or
  • Creating an AsyncTaskLoader with a Loader to persist through runtime configuration changes (such as when the user changes the screen orientation).

    ?

u/sweetbacon · 1 pointr/AndroidQuestions

This one worked quite well for my needs, covered a lot of topics with downloadable example code (though I'd recommend typing it all in by hand) Android Programming: The Big Nerd Ranch Guide


I hear good things about The Busy Coder's Guide to Android Development for step-by-step and I think I might like it's model of subscription, staying updated and online chats, but I've not tried it myself yet and at $45 per year YMMV.

u/Casanova_de_Seingalt · 1 pointr/androiddev

Was listening to 'This Week in Tech' podcast by Leo Laporte, they had the authors of Big Nerd Ranch Guide to Android Development there. From what I've heard, it seems like a solid and, most importantly, recent book. I wanted to get it myself but decided to stick with online resources for now and buy the book later if I have money for it :P

u/Psygohn · 1 pointr/learnprogramming
u/librarytimeisover · 1 pointr/Android

Hawk_Blue, as many others have mentioned, Grats on the app!

I am curious, as it being 2015, is the 2013 edition book you suggested on amazon still viable? I plan on joining treehouse as well as pick up this book for better insight.

http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333/ref=sr_1_1?ie=UTF8&qid=1408136373&sr=8-1&keywords=android+programming

u/one-oh · 1 pointr/programming

Totally agree. Save yourself some money and get a book like this. Or save all of it by patronizing your local library. YMMV.

u/ColquhounCapital · 1 pointr/androiddev

This guide has been invaluable for me: http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333
I've made two Android apps now, and I started with no experience of any kind in making mobile apps. It has great step-by-step examples, and they really focus on explaining the reasons behind why they're taking each step.
Can't even begin to explain how thankful I am that someone recommended that book to me. Hope it helps you as much as it did me! Good luck programming!!

u/KarlJay001 · 1 pointr/learnprogramming

I started iOS dev with ObjC years ago. When Swift came out all the books for ObjC stopped. Stanford stopped, BNR stopped, RayW stopped...

I'd get the old ObjC books:

https://www.amazon.com/Programming-Objective-C-5th-Developers-Library/dp/032188728X

Big Nerd Ranch, etc...

I remember Lynda.com had a good ObjC tutorial.

You need to be careful to get the "latest ObjC" because some of the older ones don't have ARC (Automatic Reference Counting). It's an easy way to tell if you have one of the latest ObjC book, look for ARC.

ARC started around iOS 5. So you'll be going back in time a bit. ObjC changed how it handled arrays and strings just about the time Swift came out.

No job is going to have ObjC that still uses reference counting, so I'd just pass on it.

u/arntzel · 1 pointr/IAmA

If you want an introduction to computer science:

Introduction to CS: https://itunes.apple.com/us/course/this-is-cs50-2012./id624655973.
Stanford's iOS course: https://itunes.apple.com/us/course/coding-together-developing/id593208016 - This can be challenging for beginners as it assumes prior computer programming experience. That said the course is incredibly comprehensive and does an amazing job of teaching iOS.

u/herolurker · 1 pointr/ObjectiveC

Im taking a course and we are using this book: http://www.amazon.com/gp/aw/d/032188728X

Really easy to follow, and has exercises and an active forum where all beginners and experts come together and help one another.

u/GeneticAlliance · 1 pointr/web_design

First, check out Don't Make Me Think! by Steve Krug. It's an easy read and invaluable.

If you really like that approach then you should think about going into Interaction Design (aka usability, user-centered design, UX design, information architecture, etc.). I've been doing it for about 11 years and have only recently gotten into coding. Usually I produce wireframes and specs for the coders, do user research, and conduct usability tests. There nothing quite like watching someone trying to use your design and doing something completely different from what you expected.

I haven't kept up with some of the latest books out there, but some of my formative ones are:

u/AnonJian · 1 pointr/marketing

> If I've got to stop looking at just the features, price, design....what direction should i be looking in?

Benefits. Okay this is remedial marketing. What you should do is click the links and read what I'm spoon feeding you. Tech loves features because you can have zero users, and the feature still exists. A benefit only exists if the customer and user says it does. A benefit can only exist if users exist and a customer is willing to pay for it.

You are far ahead of me. You know what the product is.

>How do i find out if my company actually is unique in a certain aspect that the competitor isn't?

Your sales guys will give you some biased half truths. Start there.

I've linked articles. I've written out the title and author of a book in my last comment. Hint. Hint.

== More (Reading, in case that was unclear) ==


About Face 3: The Essentials of Interaction Design

The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability

A Simple Trick to Turn Features Into Benefits (and Seduce Readers to Buy!)

u/tootie · 1 pointr/webdev

I work at a pretty big digital agency so we have entire departments dedicated to this stuff. User experience design, user research, analytics are all geared to finding an optimized experience for users. The focus is usually more on measurement than on attempting to divine user's motivations. Things like usability testing or A/B testing give concrete results for what people like more or find more intuitive. If you're interested in user-centered design, try About Face and if you like data visualization, try everything from Edward Tufte.

u/HammHetfield · 1 pointr/web_design

While it's not as precise as your example, I think About Face 3 ( http://www.amazon.com/About-Face-Essentials-Interaction-Design/dp/0470084111 ) is a good starting point, reference for Interaction Design IMO.

You could also take a look at UX/UI pattern libraries, but overall there's no resource that will show you the bulletproof solution to any problem you're going to try and figure out. Design something, test it, start over. That's pretty much it.

u/Unixor · 1 pointr/web_design

Try Alan Cooper's books: The inmates are running the asylum and About Face 3: The Essentials of Interaction Design. These books are great for the fundamentals of UX design. They might be a little bit outdated technologie wise (responsive design etc.) but they have helped me grow as an UX designer in my early days.


The inmates are running the asylum: http://amzn.com/0672326140
About Face 3: http://amzn.com/0470084111


[edit amazone links]

u/Dagarik · 1 pointr/blender

'Stop Staring' is a great book and thoroughly explains the fundamentals including how to do animation friendly topology.

https://www.amazon.com/Stop-Staring-Facial-Modeling-Animation/dp/0470609907

u/cowChewing · 1 pointr/india

then you can go with this online tutorial

or get a book 1

2

go with online tutorial then as you get comfortable go with the contents of book.

u/logicalriot · 0 pointsr/web_design

This book really helped me out when I first got started. David Shea is a real talent. CSS Zen Garden

u/RollingGoron · 0 pointsr/learnprogramming

A couple of questions:

  1. What Phone do you use?
  2. What computer OS do you use?


    If you have a PC, you can only develop for Android.
    If you have a Mac, you can developer for iOS or Android.

    I highly recommend a book over a website. They are much more comprehensive and go into greater detail.

    Mac/iOS uses Objective-C.
    http://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/032194206X/ref=sr_1_1?ie=UTF8&qid=1419300572&sr=8-1&keywords=big+nerd+ranch+objective+c

    http://www.amazon.com/iOS-Programming-Ranch-Guide-Guides/dp/0321942051/ref=sr_1_1?ie=UTF8&qid=1419300564&sr=8-1&keywords=Big+Nerd+ranch+ios

    Android

    http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333/ref=sr_1_1?ie=UTF8&qid=1419300685&sr=8-1&keywords=Big+Nerd+ranch+android

    Big Nerd Ranch books are awesome.
u/ladywanking · 0 pointsr/learnprogramming

Well, I said it before, I will say it again, this book is amazing

Then, I highly recommend, you learn JPA/Hibernate and DDD. The value in that alone is what many companies are after.

Then you have to choose what is that specifically you want to master:

If you want to go with EE, then read this

If you want to go mobile, read this

Obviously, if you still have time, Martin Fowler and Uncle Bob are your guides.

u/Nicoon · 0 pointsr/PHP

This is completely unrelated to PHP. What is this post doing here?

u/stillbourne · -1 pointsr/reddit.com

posting to reddit: 10 seconds.
watching the super bowl: 4 hours.
Finishing off This book: Priceless.