thebookofshaders.com
Gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.
快速了解
- 分类
- 编程开发
- 语言
- 未知
- 付费内容信号
- 有付费内容已观察
- 注册年份
- 2015
- 主机
- Amazon.com, Inc.推测
- HTTPS 证书信任
- 通过已观察
- 最后更新
相关问题
更多相关问题 →什么是生成艺术(generative art)?含义、特征与入门方式
生成艺术(generative art)指艺术家不直接绘制作品的每一处细节,而是先设定一套规则、算法或参数系统,再由这套系统自动或半自动地"生长"出图像、声音或动态作品。它适合对过程与系统本身感兴趣、愿意把部分控制权交给规则和偶然性的创作者与观众。理解它的关键不在于用了什么软件,而在于"作者设计的是规则,不是最终画面"这一分工。
生成艺术的核心机制
传统绘画里,艺术家决定每一笔落在哪里。生成艺术里,艺术家决定的是"笔如何落"的规则,然后让规则运行出结果。
一个贴切的例子:如果你写一条规则——"每个点随机选一个位置,但必须离上一个点不超过某个距离"——运行一次会得到一条蜿蜒的路径,再运行一次会得到完全不同的另一条。你没有画出任何一条路径,但你设计了产生所有可能路径的机制。这就是生成艺术的基本形态。
由此带来几个稳定特征:
- 过程优先:作品的价值部分来自规则的设计,而不只是成品外观。
- 可重复但不可完全复制:同一套规则多次运行,通常每次结果都不同。
- 作者与系统的分工:艺术家设定边界,系统在边界内探索。
- 偶然性被纳入创作:随机数、噪声、初始条件的微小差异都会影响结果。
生成艺术与相邻概念的关系
这几个词经常被混用,但指向不同层面。
| 概念 | 关注点 | 与生成艺术的关系 |
|---|---|---|
| 生成艺术 | 规则/系统自动产出作品 | 上位概念 |
| 算法艺术 | 用算法作为创作方法 | 高度重叠,算法艺术更强调"算法"这一手段 |
| 分形艺术 | 用分形数学生成自相似图形 | 生成艺术的一种常见类型 |
| 数字艺术 | 以数字技术为媒介 | 更宽泛,生成艺术通常属于数字艺术,但数字艺术不一定是生成的 |
简单说:分形艺术是生成艺术的一个子集,算法艺术是它的近义词,数字艺术是它更大的媒介范畴。algorithmic-worlds.net 这类站点展示的正是算法与分形方向的作品,作者 Samuel Monnier 使用 Ultra Fractal 等工具创作,属于"算法/分形"这一支。
常见的创作方式
- 代码:用 Processing、p5.js、Python 等编写规则,适合完全自定义逻辑。
- 数学公式与分形:通过迭代函数、复数运算生成自相似结构,分形软件是典型入口。
- 现成生成工具:提供参数面板,调节种子、密度、颜色等,降低编程门槛。
- 混合方式:先生成底图,再手工干预或后期处理。
选择哪种,取决于你想要的控制粒度:想要完全掌控逻辑就写代码,想快速看到结果就从现成工具或分形软件入手。
如何欣赏生成艺术
不要只盯着成品像什么,可以按这几条去看:
- 找规则:画面里有没有可辨认的重复、迭代或自相似结构?
- 看变化:如果同一规则再跑一次,哪些部分会变、哪些不变?
- 辨偶然:哪些细节像是系统"自己长出来的",而非作者刻意安排?
- 看边界:作者在哪里设了限制,又在哪里放任系统自由发挥?
带着这几个问题看,生成艺术会从"好看的图"变成"可读的过程"。
入门路径
- 先看:浏览算法艺术、分形艺术的作品集,建立对可能性的直觉。
- 再调:用带参数面板的生成工具,改种子、密度、颜色,观察结果如何随参数变化。
- 后写:从最简单的规则开始写代码,例如随机点、随机线、简单迭代,先跑通再逐步加复杂度。
- 记录:保存每次运行的参数和结果,生成艺术的乐趣很大一部分来自对比不同运行之间的差异。
入门不需要先成为程序员,但愿意理解"规则如何影响结果"这件事,会让整个过程顺畅很多。
OpenGL 是什么?它在游戏和图形程序开发中用来做什么?
OpenGL 是一套跨平台的图形 API(应用程序编程接口):程序把“画三角形、贴纹理、开光照、输出到窗口”这类绘制指令交给它,再由它转交给显卡驱动执行。它本身不是游戏、不是引擎,也不是编程语言。典型使用条件是:你用 C/C++ 等语言写程序,配合窗口/输入库创建渲染上下文,并安装好显卡驱动;适合做游戏渲染、数据可视化、模拟器和图形工具。下面用 Space Invaders OpenGL 这个开源克隆项目说明这些关系。
OpenGL 在程序里处于什么位置
可以把一次绘制理解成一条链:
- 你的程序决定画什么(敌机位置、子弹、背景),用 C/C++ 组织数据。
- OpenGL 调用把顶点、纹理、状态设置提交出去。
- 显卡驱动把指令翻译成 GPU 能执行的操作。
- 窗口系统(如 Windows 的窗口)提供最终显示画面。
所以“用 OpenGL 做的游戏”指的是这个游戏在渲染环节调用了 OpenGL,而不是说 OpenGL 自带游戏逻辑、关卡或音效。游戏规则、碰撞检测、计分仍然由开发者用编程语言实现。
OpenGL 与游戏、引擎、编程语言的区别
| 容易混淆的说法 | 实际含义 |
|---|---|
| “OpenGL 游戏” | 用 OpenGL 做图形渲染的游戏;游戏逻辑另写 |
| “OpenGL 引擎” | 不准确,引擎是更高层封装,内部可能调用 OpenGL |
| “学 OpenGL 要先学 C++” | OpenGL 有 C 接口,C/C++ 最常见,但不是唯一选择 |
| “下载 OpenGL” | 通常指装显卡驱动;OpenGL 由驱动和系统提供支持 |
Space Invaders OpenGL 就是典型例子:它是基于老式街机经典《太空侵略者》的 2D/3D 克隆游戏,用 OpenGL 在 Visual C++ 下开发,项目自 2004 年 5 月起处于搁置状态。这里的“OpenGL”描述的是它的渲染技术路线,不是游戏内容本身。
典型使用场景
- 游戏渲染:2D 精灵、3D 场景、粒子效果。Space Invaders OpenGL 属于这一类,玩家左右移动激光基地、向上射击成排推进的敌舰。
- 可视化与模拟:科学数据、工程模型、地图的实时绘制。
- 模拟器与图形工具:需要稳定跨平台绘制能力的桌面程序。
- 学习图形管线:理解顶点、着色器、纹理、帧缓冲等概念。
如果只是想做一个小游戏原型,OpenGL 属于偏底层的选择,需要自己处理窗口、输入、资源加载;如果目标是理解渲染原理或维护已有 C++ 项目,它更合适。
一个开源 OpenGL 项目通常提供什么
以 Space Invaders OpenGL 的下载页为例,版本 0.6.1c 面向 Windows 98/XP/Vista,需要 3D 加速卡和 OpenGL 驱动,提供三类内容:
- 安装版可执行程序(约 750 KB):带安装器的程序。
- 源码包(约 870 KB):完整的 Visual C++ 6.0 工程。
- 压缩包版可执行程序(约 650 KB):解压即用的程序。
页面还提示:如果遇到 msvcr70.dll 报错,可把该文件放到 Windows 2000/XP 的 windows/system32 或 Windows 98/ME 的 windows/system 目录。这说明老项目常依赖特定运行库,运行前要核对系统版本和依赖文件。
上手前需要准备什么
想运行或研究这类项目,通常需要:
- 兼容的 Windows 环境:该项目标注支持 Windows 98/XP/Vista,较新系统上不保证直接可用。
- 3D 加速卡与 OpenGL 驱动:这是页面明确写出的运行条件。
- 编译工具(看源码时):源码是 Visual C++ 6.0 工程,用新版编译器打开可能需要调整工程设置。
- 缺失运行库的处理:按页面提示补齐
msvcr70.dll等依赖。
验证是否跑通,可以看程序能否正常启动、画面是否出现敌舰阵列、左右移动和射击是否响应。常见卡点是驱动不支持、系统版本过新、缺少运行库,以及源码工程与当前编译器不兼容。
怎么选:先明确你要的是“用 OpenGL”还是“学 OpenGL”
- 只想玩这个克隆版:优先下载可执行程序,确认系统版本和驱动,遇到 DLL 报错按页面说明处理。
- 想读代码学渲染:下载源码包,准备 Visual C++ 6.0 或可迁移的工程环境,从敌机阵列绘制和输入处理入手。
- 想自己从头做图形程序:把 OpenGL 当作渲染层,另选窗口库和语言工具链,不要指望某个游戏项目直接变成通用教程。
一句话判断:OpenGL 负责“怎么画到屏幕上”,游戏项目负责“画什么、怎么玩”。Space Invaders OpenGL 的价值在于它同时给出了可运行程序和完整源码,适合作为观察一个 OpenGL 小项目结构的样本。
bibliography 是什么:如何用 Bob Dylan 书目网站按作者、标题、主题查找书籍与访谈
bibliography(书目)是一份系统整理某个人物、主题或领域的书籍、文章、访谈等资料的清单,通常按作者、标题或主题分类,并可能附有注释。Dylan Bibliography(网站名“Conclusions on the Wall”)正是这样一个专门针对 Bob Dylan 的书目网站:它收录了 500 多本相关书籍和 250 多篇访谈,按作者、标题、主题排序,并标注了重点书目(essential works)。如果你要查 Dylan 相关书籍或访谈,可以从这个网站的分类入口入手;如果只是想知道 bibliography 是什么,把它理解为“带分类和注释的资料清单”即可。
这个网站收录什么
根据网站首页说明,Conclusions on the Wall 是一个可搜索的 Bob Dylan 注释书目,主要包含两类内容:
| 内容类型 | 数量 | 组织方式 |
|---|---|---|
| 书籍 | 500 多本 | 按作者、标题、主题排序 |
| 访谈 | 250 多篇 | 按时间顺序排列 |
网站还标注了“essential works”(重点作品),方便读者优先查看核心资料。首页提到,该网站被多个网络指南和搜索引擎收录,并被认定为关于 Bob Dylan 的关键资源之一。
按作者、标题、主题查找书籍
网站首页的书籍区域以可点击的书目形式呈现,点击书籍可进入目录页。实际操作时:
- 确定检索维度:如果你知道作者名(如 Heylin),走作者入口;如果记得书名,走标题入口;如果只是想了解某个方面(如某张专辑、某段时期),走主题入口。
- 进入对应列表:网站按这三种方式分别排序,同一本书可能在不同列表中出现。
- 查看注释和重点标记:书目带有注释,重点作品有标注,可据此判断先读哪本。
- 点击书籍进入目录:首页提示“Click on the books to go to the Table of Contents”,即点击书籍可查看目录内容。
预期结果是:你能快速定位到具体书籍,并借助注释和重点标记决定阅读优先级。
按时间顺序查找访谈
访谈部分按时间顺序排列,共 250 多篇。查找时先确定你想看的时间段(例如某个年代或某次巡演前后),再在时间列表中找到对应条目。由于是时间排序,适合按 Dylan 职业生涯的时间线梳理访谈,而不是按主题跳查。
常见卡点
- 页面框架问题:首页提到,如果能看到翻页效果,可能更适合使用 frame edition(框架版);如果页面显示异常,可尝试切换版本。
- 搜索功能:网站自称“searchable”(可搜索),但首页未说明具体搜索框位置,实际使用时以页面提供的搜索入口为准。
- 重点书目不是全部:essential works 只是标注出的核心部分,不代表其余书籍不重要;研究型需求仍需浏览完整列表。
下一步怎么用
- 选书:先看重点作品标注,再按主题入口缩小范围,结合注释判断难度和相关性。
- 研究:按作者入口找到学术类作者(如 Heylin),再按时间顺序核对访谈,形成“书籍+访谈”的交叉参考。
- 深入了解 Dylan:把书目当作路线图,从重点作品开始,逐步扩展到主题列表中的其他条目。
网站首页还链接了站长的若干文章和演出记录(如“How I Got Into Dylan”、Dylan 歌词分析、演出评论等),可作为书目的补充阅读,但它们不是书目本身的核心内容。
网站信息概览
结合现有公开信息推测,技术版本与服务端信息形成了较完整的外部画像,意味着潜在攻击者较少需要盲目试探,就能选择更有针对性的检查方式。依据当前可见线索,多年域名记录配合专业 DNS 或边缘网络,可能反映出持续的基础设施管理,服务中断和临时变更的概率相对更低。
域名与注册信息
截至本次评测,域名年龄约为 11 年。状态中包含防转移保护,未发现 hold 或删除流程标记。结合现有公开信息推测,注册商为 GoDaddy.com, LLC,属于常见的主流域名服务商。该网站采用常见域名后缀 .com。
DNS 与邮件配置
当前收件域名缺少三项常用邮件防伪配置。结合现有公开信息推测,NS 记录显示该域名接入了 GoDaddy。从当前可见信息判断,该域名的收件服务由 Google Workspace 提供。该主机名未使用别名记录。依据当前可见线索,第三方验证记录涉及 Google。
TLS 与证书
证书使用 RSA 2048 位公钥,兼容性较广。服务器返回了完整证书链。证书可验证域名控制权,但现有数据不能确认组织身份。现有迹象表明,证书由 Let's Encrypt 签发,采用常见的自动化短周期证书服务。TLS 证书采用约 89 天的短有效期。
HTTP 响应
Server 响应头暴露了具体软件版本:Apache/2.4.7 (Ubuntu)。响应中存在 X-Powered-By:PHP/5.5.9-1ubuntu4.29。6 项常用安全响应配置均未出现。Access-Control-Allow-Origin 设置为通配符。HTTP 字段未显示敏感内部网络标识。
技术栈分析
结合现有公开信息推测,网站呈现出 Google Analytics、Apache 2.4.7、PHP 的技术特征,并直接公开了 Apache 2.4.7。这能说明其大致搭建方式,也可能降低针对特定版本进行自动化探测的成本。
SEO 与社交分享
首页缺少移动设备视口声明。页面没有声明首选 URL。页面已配置 Twitter Card。Title 信息完整,共 19 个字符。首页提供了可用的搜索摘要描述。
主机和电子邮件
域名登记事实
| 注册商 | GoDaddy.com, LLC |
|---|---|
| 注册时间 | 2015-03-15 |
| 到期时间 | 2027-03-15 |
| 域名状态 | client delete prohibited、client renew prohibited、client transfer prohibited、client update prohibited |
| 名称服务器 | ns27.domaincontrol.com、ns28.domaincontrol.com |
| DNSSEC | unsigned |
DNS 记录
| 类型 | 名称 | 值 | TTL | 优先级 |
|---|---|---|---|---|
| A | thebookofshaders.com | 52.35.24.141 | 2756 | — |
| MX | thebookofshaders.com | aspmx.l.google.com | 3600 | 10 |
| MX | thebookofshaders.com | alt1.aspmx.l.google.com | 3600 | 20 |
| MX | thebookofshaders.com | alt2.aspmx.l.google.com | 3600 | 30 |
| MX | thebookofshaders.com | aspmx2.googlemail.com | 3600 | 40 |
| MX | thebookofshaders.com | aspmx3.googlemail.com | 3600 | 50 |
| NS | thebookofshaders.com | ns27.domaincontrol.com | 3600 | — |
| NS | thebookofshaders.com | ns28.domaincontrol.com | 3600 | — |
| TXT | thebookofshaders.com | google-site-verification=CvKuWu6D6t8ZJzalDuhI2LE5-zvJuteKGB1LI_7O2x4 | 3600 | — |
TLS 与证书
HTTP 响应标头
| 标头 | 值 |
|---|---|
| content-type | text/html |
| server | Apache/2.4.7 (Ubuntu) |
| access-control-allow-origin | * |
已识别技术
页面、搜索与分享信息
| 页面描述 | Gentle step-by-step guide through the abstract and complex universe of Fragment Shaders. |
|---|---|
| 规范链接 | 未检测到 |
| 语言 | 未知(默认) |
| Twitter Card | image |
社交分享预览
17 个字段robots.txt (在新窗口打开)
HTTP 404未发现 robots.txt
Sitemaps
0暂未发现 Sitemaps
用户评价(0)