xyzzyb + programming   718

Stephanie Hurlburt on Twitter: "A bunch of people are asking what resources I recommend to start learning graphics programming. So you get a thread on it!"
"A bunch of people are asking what resources I recommend to start learning graphics programming. So you get a thread on it!

I really enjoy giving beginner-level workshops. Here are two that focus on graphics:

If you're a graphics coder reading this wondering how you can host a workshop too, I've written about that:

I also wrote my own little writeup on graphics, notes from when Rich & I were helping Sophia learn graphics.

One more graphics workshop-- this one includes a raytracing and particle demo for you to play with.

I love @baldurk 's blog series, "Graphics in Plain Language"

For those ready to wade into advanced waters, "A trip through the graphics pipeline" by @rygorous is great

This online book is just an amazing introduction to shaders, by @patriciogv and @_jenlowe_

Prepare yourself for a monster list of graphics resources on this site! My favorite is the SIGGRAPH papers.

I'm a big fan of Cinder and OpenFramworks, both C++/graphics. They are what I started from.

BGFX is also great!

For a more beginner friendly library, Processing is simply lovely.

Shaders! GLSLSandbox is more beginner-friendly, Shadertoy if you want to see some crazy shit

Can't go without mentioning @CasualEffects 's Graphics Codex-- excellent and comprehensive graphics resource.

I stand by this advice on how to approach learning graphics programming.
[image with screenshot of chat]

Since we're now on the topic of getting jobs, do mock interviews and get mentors and talk to people. ["Attn coders who struggle w these, or jr coders:

It is your homework to set up a mock interview w one of these folks"]

My mentor list is FULL of graphics programmers. They all love helping you. I do need to update it with more.

People ask me about learning math and I point them to @EricLengyel 's book

GPU Performance for Game Artists by @keithoconor

There are more resources I didn't mention. Check out the last two slides of this , and

This is a good little collection of resources on advanced GPU optimization and documentation.

Destiny's Multithreaded Rendering Architecture by @mirror2mask

An important point: The vast majority of graphics coders I know don't know math very well. Don't be scared away if you aren't a math person.

I say this as someone who adores math, was expecting to use it all the time, & only ever needed basic linear algebra for my graphics work.

Someone made a Slack chat for graphics programming learning/development! Both experienced folks + newbies welcome. ["Great idea. We have a Slack group here:

Invite link here: "]"
graphics  programming  howto  tutorials  stephaniehurlburt  via:datatelling  math  mathematics  coding  via:robertogreco 
august 2017 by xyzzyb
Texture Compression Techniques
In this paper, we present a detailed analysis and comparison of texture compression techniques and their hardware implementations used in modern PCs, tablets and smartphones, based on their characteristics, such as compression rates and image quality. First, we review the family of the earliest massively used compression schemes, the S3TC (BC1-BC3). Then, we move on to BC4, BC5, BC6H and BC7 formats, which improved the image quality by providing more flexibility as well as introducing block partitioning. We also analyze the mobile targeted ETC family (PACKMAN, ETC1 (iPACKMAN) and ETC2/EAC), developed by Ericsson, and the PVRTC family of formats, created by Imagination Technologies. Finally, we present ASTC, the latest texture compression technology resulted from a collaboration of AMD and ARM. BISE encoding and other features of ASTC are described in details.
algorithm  3d  compression  graphics  texture  programming  gamedev 
april 2017 by xyzzyb
How To Save The Princess In 8 Programming Languages
Programming sucks. This fairytale comic shows the different ways in which programming languages could fail you in the fantasy kingdom.
programming  humor  via:kger 
january 2017 by xyzzyb
The Inner JSON Effect - The Daily WTF
@veverkap @mattisadev The only language that truly sucks is the infamous JDSL
code  json  programming  wtf 
july 2016 by xyzzyb
PDE-Based Image Compression
Mathematical Image Analysis Group, Saarland University
compression  images  programming  algorithm 
may 2016 by xyzzyb
This book takes a single line of code--the extremely concise BASIC program for the Commodore 64 inscribed in the title--and uses it as a lens through which to consider the phenomenon of creative computing and the way computer programs exist in culture.
programming  basic  commodore64 
may 2016 by xyzzyb
Markov Chains
Markov chains, named after Andrey Markov, are mathematical systems that hop from one "state" (a situation or set of values) to another
algorithms  programming  visualization 
march 2016 by xyzzyb
« earlier      
per page:    204080120160

related tags

1k  2.6  3d  accessibility  accident  activerecord  actor  adobe  advent  AdventOfCode  advertising  adware  age  agile  ajax  algorithm  algorithms  amazon  analysis  anecdote  animation  api  apollo  app  apple  application  architecture  art  article  articles  artificial-intelligence  ascii  assembly  async  atari  audio  authentication  automation  avdi  awesome  backbone  backbone.js  bash  basic  basics  bdd  benchmarks  bestpractices  big  bigo  binary  biology  blender  blind  blog  book  books  brackets  branching  browser  browsing  buffer  bugs  business  c  c++  cache  calculator  callbacks  canvas  capture  career  challenge  chart  charts  cheatsheet  children  ci  cli  clojure  cms  code  coderesources  codereview  coding  coffeescript  coffeescriptcafe  college  color  colors  colorscheme  colour  comet  comics  command  commandline  comments  commits  commodore64  communication  comparison  compatability  compression  computer  computerscience  computing  concurrency  concurrent  confreaks  console  containers  contentdm  contest  continuous_integration  conventions  converter  cool  courses  creation  creativity  crockford  crop  cropping  cryptography  cs  css  csv  d3  dashboard  data  database  databases  dataviz  date  db  dbdev  ddg  debug  debugging  deploy  design  dev  developer  development  devops  dhh  diagram  directory  display  distributed  distributed-computing  diversity  diy  django  dna  do  docker  documentation  dominos  dotfiles  drawing  dream  dreamhost  dsl  duckduckgo  ebook  ebooks  editor  editors  education  election  elixir  embedded  encoding  encryption  end  engine  engineering  enterprise  epub  erlang  events  evolution  example  examples  explore  extensions  fabric  facebook  factorygirl  falsehoods  fault  feature  feed  feynman  fiction  fiddle  filesystem  firebug  firefox  flash  flowingdata  flu  font  fonts  forking  form  format  formatting  forms  fractal  framework  frameworks  free  fun  funny  gallery  game  gamedev  gamedevelopment  games  gaming  geek  gem  gems  gender  general  Generation  generator  genetics  geo  geolocation  gif  git  githhub  github  gitless  go  gogaruco  google  googlemaps  gopher  gpu  graph  graphics  graphing  graphql  graphs  greasemonkey  grid  growl  gui  guide  h1n1  hacking  hacks  handlersocket  hardware  hash  haxe  health  help  heroku  heuristics  hex  hiring  history  howto  html  html5  http  https  humor  icloud  icon  icons  id  ide  ie  ie9  IFTTT  image  imageprocessing  images  inet_aton  influenza  infographic  inform7  inspiration  install  instructions  interactive  interactivefiction  interactive_fiction  interesting  interface  internet  internetexplorer  interview  interviewing  io  ios  ip  ipad  iphone  ipodtouch  ipv6  it  java  javascript  jobs  joearmstrong  joelonsoftware  jquery  js  json  jsonp  kafka  kernel  keyboard  kickass  kids  kit  language  languages  latex  layout  lead  learn  learning  library  life  lineorder  linux  liquid  list  localstorage  logging  lua  lunarlander  mac  macvim  magazine  maintenance  management  manager  manual  map  maps  MAP_32BIT  marker  markers  marketing  marriage  mars  math  mathematics  mediarss  mediawiki  meeting  meetings  memorization  memory  merb  merge  message  metadata  metaprogramming  midwest  mining  mobile  mockup  mockups  model  modeling  mogilefs  monitor  monitoring  movement  mrss  multitasking  music  mvc  mysql  names  naming  narrative  nasa  natural-language-processing  ncurses  nes  netsuite  network  networking  nginx  node  node.js  nodejs  nokogiri  nosql  notation  notification  o  objects  office  oneliners  online  oo  oop  openid  opensource  opera  optimization  organization  os  osx  output  pair  paper  papers  parallel  parenting  parents  parser  parsing  path  pattern  patterns  paws  pdf  pdo  perception  performance  perl  photoshop  php  pip  pj:glaxal  planning  plugin  plugins  politics  pony  postgres  pow  practices  pragmatic  pragprog  presentation  procedural  process  processing  productivity  programmers  programming  project  projectmanagement  projects  protocol  prototype  prototyping  ps3  psychology  publish  puzzles  pygame  python  qa  queries  quote  quotes  r  rails  rails4.0  recommended  recover  recursive  reference  regex  regexp  regular_expression  reia  release  reliability  religion  remix  remote  repo  reports  repository  research  resources  rest  restful  results  rewrite  rfc  riak  riddle  robot  robots  rover  rpsec  rspec  rss  ruby  rubymotion  rubyonrails  rust  rvm  s3  safari  salary  salesforce  sas  savon  scala  scala-(programming-language)  scalability  scaling  scheme  school  science  scm  scope  scrabble  screen  screencast  screencasts  screensharing  screenshot  script  scripting  scripts  scrum  search  security  seo  server  service  setup  sharing  shell  simple  simplicity  sinatra  sitemap  slides  slideshow  small  smashingmagazine  soap  software  sorting  source  space  spatial  speed  spelling  spreadsheet  sprites  sql  sqlite  sse  ssh  ssl  stability  startup  stash  statistics  stdout  stephaniehurlburt  storage  story  streaming  structure  style  styleguide  subversion  summary  svn  svnmerge  swift  sync  syntax  sys  sysadmin  system  table  tablesorter  tdd  teach  teaching  tech  technicaldebt  template  templates  terminal  test  testing  tex  text  textmate  texture  theme  thesis  thinking  time  tips  tls  tmux  tool  toolkit  tools  topn  tour  towatch  toyota  try  tumblr  tutorial  tutorials  twitter  typography  ubuntu  ui  uml  unicode  unittest  unittesting  unix  Unread  upstart  usability  utf8  ux  validation  validator  value  variables  versioncontrol  vertex  vi  via:afbroman  via:anderspollack  via:ap20176  via:ashishgandhi  via:charleshepner  via:Chirael  via:datatelling  via:davehyndman  via:david.parrott  via:da_n  via:ddribin  via:dentarg  via:deusex  via:dwtkns  via:ElliotJH  via:erbriones  via:fj  via:Heliocentrist  via:hot_monster  via:hxrts  via:icco  via:ivar  via:johnpaxton  via:jonathanj  via:jongala  via:kger  via:knighthk  via:mgan  via:mountaineer  via:mszucs  via:mt3_666  via:mtwilliams  via:mwfogleman  via:nathansmith  via:nficano  via:noahread  via:noahsussman  via:nonsenz  via:nunya  via:oz  via:phillmv  via:plastefuchs  via:po  via:popular  via:pthaden  via:robballou  via:robertogreco  via:roger  via:rtlechow  via:ryanrousseau  via:ryan_marsh  via:schuytema  via:sjoonk  via:speckz  via:suttree  via:synewaves  via:tdjones  via:techdan  via:tlockney  via:walt.schlender  via:webster  via:wiebersk  via:xiong.chiamiov  via:zero1infinity  video  videogames  videos  viget  vim  virtual  virtualbox  virtualenv  virtualization  virus  visualization  web  web-development  webdesign  webdev  webservices  whitepaper  widget  wiki  windows  wireframe  wireframes  work  workflow  writing  wtf  wx  wxpython  wxwidgets  xhtml  xml  xss  xul  yahoo  yaml  zipcode  zombies 

Copy this bookmark: