网站资料 · 技术情报 · 相似站点

thebookofshaders.com

Gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.

有付费内容
访问网站
站内浏览 0 次 访问跳转 0 次 正常
The Book of Shaders 首页完整截图

快速了解

分类
编程开发
语言
未知
付费内容信号
有付费内容已观察
注册年份
2015
主机
Amazon.com, Inc.推测
HTTPS 证书信任
通过已观察
最后更新
什么是生成艺术(generative art)?含义、特征与入门方式

生成艺术(generative art)指艺术家不直接绘制作品的每一处细节,而是先设定一套规则、算法或参数系统,再由这套系统自动或半自动地"生长"出图像、声音或动态作品。它适合对过程与系统本身感兴趣、愿意把部分控制权交给规则和偶然性的创作者与观众。理解它的关键不在于用了什么软件,而在于"作者设计的是规则,不是最终画面"这一分工。

生成艺术的核心机制

传统绘画里,艺术家决定每一笔落在哪里。生成艺术里,艺术家决定的是"笔如何落"的规则,然后让规则运行出结果。

一个贴切的例子:如果你写一条规则——"每个点随机选一个位置,但必须离上一个点不超过某个距离"——运行一次会得到一条蜿蜒的路径,再运行一次会得到完全不同的另一条。你没有画出任何一条路径,但你设计了产生所有可能路径的机制。这就是生成艺术的基本形态。

由此带来几个稳定特征:

  • 过程优先:作品的价值部分来自规则的设计,而不只是成品外观。
  • 可重复但不可完全复制:同一套规则多次运行,通常每次结果都不同。
  • 作者与系统的分工:艺术家设定边界,系统在边界内探索。
  • 偶然性被纳入创作:随机数、噪声、初始条件的微小差异都会影响结果。

生成艺术与相邻概念的关系

这几个词经常被混用,但指向不同层面。

概念 关注点 与生成艺术的关系
生成艺术 规则/系统自动产出作品 上位概念
算法艺术 用算法作为创作方法 高度重叠,算法艺术更强调"算法"这一手段
分形艺术 用分形数学生成自相似图形 生成艺术的一种常见类型
数字艺术 以数字技术为媒介 更宽泛,生成艺术通常属于数字艺术,但数字艺术不一定是生成的

简单说:分形艺术是生成艺术的一个子集,算法艺术是它的近义词,数字艺术是它更大的媒介范畴。algorithmic-worlds.net 这类站点展示的正是算法与分形方向的作品,作者 Samuel Monnier 使用 Ultra Fractal 等工具创作,属于"算法/分形"这一支。

常见的创作方式

  • 代码:用 Processing、p5.js、Python 等编写规则,适合完全自定义逻辑。
  • 数学公式与分形:通过迭代函数、复数运算生成自相似结构,分形软件是典型入口。
  • 现成生成工具:提供参数面板,调节种子、密度、颜色等,降低编程门槛。
  • 混合方式:先生成底图,再手工干预或后期处理。

选择哪种,取决于你想要的控制粒度:想要完全掌控逻辑就写代码,想快速看到结果就从现成工具或分形软件入手。

如何欣赏生成艺术

不要只盯着成品像什么,可以按这几条去看:

  1. 找规则:画面里有没有可辨认的重复、迭代或自相似结构?
  2. 看变化:如果同一规则再跑一次,哪些部分会变、哪些不变?
  3. 辨偶然:哪些细节像是系统"自己长出来的",而非作者刻意安排?
  4. 看边界:作者在哪里设了限制,又在哪里放任系统自由发挥?

带着这几个问题看,生成艺术会从"好看的图"变成"可读的过程"。

入门路径

  • 先看:浏览算法艺术、分形艺术的作品集,建立对可能性的直觉。
  • 再调:用带参数面板的生成工具,改种子、密度、颜色,观察结果如何随参数变化。
  • 后写:从最简单的规则开始写代码,例如随机点、随机线、简单迭代,先跑通再逐步加复杂度。
  • 记录:保存每次运行的参数和结果,生成艺术的乐趣很大一部分来自对比不同运行之间的差异。

入门不需要先成为程序员,但愿意理解"规则如何影响结果"这件事,会让整个过程顺畅很多。

OpenGL 是什么?它在游戏和图形程序开发中用来做什么?

OpenGL 是一套跨平台的图形 API(应用程序编程接口):程序把“画三角形、贴纹理、开光照、输出到窗口”这类绘制指令交给它,再由它转交给显卡驱动执行。它本身不是游戏、不是引擎,也不是编程语言。典型使用条件是:你用 C/C++ 等语言写程序,配合窗口/输入库创建渲染上下文,并安装好显卡驱动;适合做游戏渲染、数据可视化、模拟器和图形工具。下面用 Space Invaders OpenGL 这个开源克隆项目说明这些关系。

OpenGL 在程序里处于什么位置

可以把一次绘制理解成一条链:

  1. 你的程序决定画什么(敌机位置、子弹、背景),用 C/C++ 组织数据。
  2. OpenGL 调用把顶点、纹理、状态设置提交出去。
  3. 显卡驱动把指令翻译成 GPU 能执行的操作。
  4. 窗口系统(如 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 目录。这说明老项目常依赖特定运行库,运行前要核对系统版本和依赖文件。

上手前需要准备什么

想运行或研究这类项目,通常需要:

  1. 兼容的 Windows 环境:该项目标注支持 Windows 98/XP/Vista,较新系统上不保证直接可用。
  2. 3D 加速卡与 OpenGL 驱动:这是页面明确写出的运行条件。
  3. 编译工具(看源码时):源码是 Visual C++ 6.0 工程,用新版编译器打开可能需要调整工程设置。
  4. 缺失运行库的处理:按页面提示补齐 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 的关键资源之一。

按作者、标题、主题查找书籍

网站首页的书籍区域以可点击的书目形式呈现,点击书籍可进入目录页。实际操作时:

  1. 确定检索维度:如果你知道作者名(如 Heylin),走作者入口;如果记得书名,走标题入口;如果只是想了解某个方面(如某张专辑、某段时期),走主题入口。
  2. 进入对应列表:网站按这三种方式分别排序,同一本书可能在不同列表中出现。
  3. 查看注释和重点标记:书目带有注释,重点作品有标注,可据此判断先读哪本。
  4. 点击书籍进入目录:首页提示“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 个字符。首页提供了可用的搜索摘要描述。

主机和电子邮件

DNSGoDaddy
主机Amazon.com, Inc.
电子邮件Google Workspace
IP 地理位置(推测,CDN 或代理可能与源站不同) United States 国旗Boardman, Oregon, United States 推测 52.35.24.141

域名登记事实

RDAP / WHOIS

注册商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
DNSSECunsigned

DNS 记录

DNS

类型名称值TTL优先级
Athebookofshaders.com52.35.24.1412756—
MXthebookofshaders.comaspmx.l.google.com360010
MXthebookofshaders.comalt1.aspmx.l.google.com360020
MXthebookofshaders.comalt2.aspmx.l.google.com360030
MXthebookofshaders.comaspmx2.googlemail.com360040
MXthebookofshaders.comaspmx3.googlemail.com360050
NSthebookofshaders.comns27.domaincontrol.com3600—
NSthebookofshaders.comns28.domaincontrol.com3600—
TXTthebookofshaders.comgoogle-site-verification=CvKuWu6D6t8ZJzalDuhI2LE5-zvJuteKGB1LI_7O2x43600—

TLS 与证书

TLS / SSL

定性结果配置正常
支持协议TLSv1.2
协商协议TLSv1.2
证书主题thebookofshaders.com
颁发者Let's Encrypt
有效期至2027-01-02T23:05 · 记录时剩余 58 天
验证事实证书信任:通过 · 域名匹配:通过

HTTP 响应标头

HTTP

标头值
content-typetext/html
serverApache/2.4.7 (Ubuntu)
access-control-allow-origin*

已识别技术

Google AnalyticsApache 2.4.7PHP

页面、搜索与分享信息

页面描述Gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.
规范链接未检测到
语言未知(默认)
Twitter Cardimage

社交分享预览

17 个字段

未发现 robots.txt

暂未发现 Sitemaps

用户评价(0)

  • 暂无评价。