3 ポイント 投稿者 GN⁺ 2023-11-24 | 1件のコメント | WhatsAppで共有

AMDのツール、ライブラリ、エフェクトの紹介

  • AMDのGPUOpenウェブサイトは、GPU関連のツール、ライブラリ、エフェクトについて学ぶのに最適な場所。
  • 初級ソフトウェアエンジニアでも簡単に理解できるよう設計された資料とガイドを提供。
  • ユーザーがAMDの技術を活用して、最適化されたグラフィックスとパフォーマンスを達成できるよう支援。

GN⁺の意見

  • この記事で最も重要なのは、AMDのGPUOpenがグラフィックス開発者に有用なリソースを提供している点。
  • 初級開発者でも簡単にアクセスして活用できる資料が多く、グラフィックスプログラミングに関心のある人には興味深い内容。

1件のコメント

 
GN⁺ 2023-11-24
Hacker Newsの意見
  • 初級ソフトウェアエンジニアがコンピュータグラフィックス分野に入門する際は、どのツールを使うかを先に考えるよりも、何を作りたいのかを考えることが重要である。最終的な成果物に集中しながら最初の一歩を踏み出すべきである。多くのツールはグラフィックスプログラミングのさまざまな段階を抽象化しているため、最初から低レベルコードに時間をかけすぎる危険がある。また、特定の業界分野では Unity、TouchDesigner、three.js、After Effects のようなツールを使い、C++ はほとんど使わないことも多い。深い理解は重要だが、実際の業界に入ってから学ぶほうがより効率的である。
  • グラフィックスプログラマーとして知っておくべきことには、プログラミングや API 以上の知識が含まれる。回転、ビュー、射影行列、ベクトル数学、シェーダープログラミング、手続き的プリミティブ、画像合成、フォワードレンダリングおよびディファードレンダリング、サンプリング手法、影やライティング技術、3D アプリからデータを抽出する方法、プロファイラやデバッガの使用、Siggraph 論文の読解、空間分割やボリューム階層技法、簡単なレイトレーサーの構築、プリミティブへの理解、パーティクルやシミュレーションの経験などがある。
  • Pikuma の「Graphics From Scratch」コースを勧めている。SDL を使って set_pixel 関数を書くところから始め、すべての行列演算、頂点変換、三角形のラスタライズを自分でコードを書く。各ピクセルの色を計算する過程を学べる。
  • DX/VK/OGL から始める以外にも、グラフィックスプログラマーになる方法はさまざまにある。C++ をまったく使わなくてもよい。たとえば 3Blue1Brown は Python で驚くべき 3D グラフィックスを作っている。ゲームエンジンを書きたいなら DirectX や Vulkan を学び、ブラウザアプリケーションを書きたいなら WebGL を学ぶ。これらの API は重厚で、グラフィックスについて多くを教えてくれない場合もある。グラフィックスの概念を学びたいなら、どの言語でもよいので自前のラスタライザとレイトレーサーを書くとよい。Processing、PlotDevice.io、NodeBox、DrawBot、ShaderToy など、初心者でも取り組みやすく楽しいグラフィックスライブラリやコーディング環境は多い。
  • Shadertoy でシェーダーを書くことでグラフィックスプログラミングを学べる。多くのグラフィックスプログラマーがここから始めている。SDF、レイマーチング、ノイズ関数などに関する 10 本以上のチュートリアルを作った。
  • グラフィックスプログラミング業界で実際に使っている資料を共有している。グラフィックス分野はあまりに大きくなっており、万人に合う学習法は存在しない。グラフィックスを学びたいなら、メンターを見つけるのがよい。
  • コンピュータグラフィックスには数百もの専門分野があり、その Web サイトはプログラミング向けグラフィックス SDK というごく小さな部分にしか焦点を当てていない。
  • 自分はゲーム開発者だが、グラフィックスプログラマーではない。現代的なグラフィックス API と GLSL シェーダーを使っているが、13 歳の子どもが Scratch や Python から C++ に移りたがるときには、1999 年から持っている OpenGL 1.2 DLL を使って簡単なコードを書かせている。現代的な API の複雑なセットアップより、はるかに楽しい。その子はボロノイ図のような計算幾何学に興味があるので、グラフィックス API は単なる手段にすぎない。C++ と古い OpenGL の性能は Scratch よりずっと速い。シンプルな API を使って C++ と OpenGL を同時に学ぶのはかなり野心的な挑戦である。単純さのおかげで学習は管理しやすく保たれており、順調に進んでいる。見栄えのよいマーチングスクエアのデモを作り、ランタイムでパラメータを調整できる IMgui メニューを追加するのを手伝っている。
  • 個人的な歩みを共有している。2 年前にいくつかのチュートリアルと YouTube 動画を見ながら最初の 3D エンジンを作った。とてもシンプルだが、自分はシンプルなものが好きだ。現在はこのエンジンを使って都市建設ゲームを作る作業を進めている。行列や外積を使って物体を操作する方法を学ぶのはとても楽しい。
  • BASIC プログラミング言語で書かれた簡単なグラフィックスコードの例を紹介している。