浏览器上的源码3D—WebGL和Three.js
WebGL是什么 WebGL,全称为Web Graphics Library,程序fireworks 烟花 源码是上色上色一种3D绘图协议。它允许将JavaScript和OpenGL ES 2.0结合,源码通过增加一个JavaScript绑定,程序WebGL可以在HTML5 Canvas中提供硬件加速的上色上色3D渲染。这使得Web开发人员能够利用系统显卡在浏览器中更流畅地展示3D场景和模型,源码创造复杂的程序导航和数据可视化,且无需开发专用的上色上色渲染插件,适用于创建具有复杂3D结构的源码网站页面或3D网页游戏。 WebGL的程序工作原理 WebGL主要通过点、线、三角形进行基本绘图,复杂图形则通过三维软件导出顶点坐标,通常存储在显存中以加速GPU读取。arduino 源码顶点坐标通过顶点着色器由OpenGL ES编写,JavaScript定义并传递给GPU生成三角形。顶点着色器处理顶点坐标转换为屏幕坐标,包括应用投影矩阵将三维坐标转换为屏幕坐标。片元着色器负责给模型上色,计算模型的颜色、质地、灯光等,生成像素,完成整个渲染过程。 WebGL完整工作流程 WebGL工作流程分为准备数据、生成顶点着色器、图元装配、生成片元着色器和光栅化五个阶段。准备数据阶段提供顶点坐标、索引、UV坐标、法线等数据;生成顶点着色器阶段由JavaScript定义顶点着色器程序;图元装配阶段GPU根据顶点数量运行顶点着色器程序,xwb源码生成最终坐标;生成片元着色器阶段处理模型颜色、质地、光照等;光栅化阶段通过片元着色器确定每个像素颜色,最终完成渲染。 three.js是什么 three.js是一个基于WebGL的库,封装了3D渲染需求中的重要工具和渲染循环。它简化了WebGL的接口,降低了学习成本,使开发者能够更加轻松地创建3D应用。three.js处理WebGL的大部分细节,提供了人类可读的3D API,使开发人员能够更加专注于创意和设计。 推荐资料 了解three.js的更多信息,可以参考以下资源: three.js - Javascript 3D library(官方网站) three.js / documentation(官方文档) Three.js 中文文档(内容可能不全或过时,仅可作为参考,请以官方英文文档为准) three.js / examples(官方示例) github.com/mrdoob/three... 专栏:THREE.JS源码注释 - CSDN博客(十分详细的源码解读) 官方双语/合集线性代数的本质(基础知识,关于矩阵) 参考文章 深入理解WebGL&Three.js工作原理 - cnwander - 博客园 three.js 现学现卖如何利用人工智能技术将黑白照片转化为彩色照片呢?
首先访问GitHub官网,查找并下载名为"DeOldify"的luckymoney源码项目源代码至本地。
确认电脑已安装Python。如未安装,请访问Python官网下载并安装适合系统的版本。对于位系统,推荐下载python.org/ftp/python/3...。
打开终端并创建Python虚拟环境。激活虚拟环境后,在当前文件夹下创建一个名为venv的文件夹。
在项目文件夹中打开终端,激活虚拟环境。切换到"deoldify"文件夹,使用命令安装项目依赖。
执行安装指令时,请确保电脑网络连接正常,且具备NVIDIA独立显卡。安装依赖后,再执行命令安装DeOldify。
将以下代码复制粘贴到txt文档中,awardrotate源码并将其重命名为go_v1.py。将此文件移动至项目deoldify文件夹内。
激活虚拟环境并切换至deoldify文件夹,运行命令执行DeOldify项目。
电脑桌面将弹出界面,选择黑白照片进行上色。若选择url,输入url并选择网络上的黑白照片。执行后,等待几秒钟,得到彩色照片。
处理后的黑白照片与彩色照片对比展示,效果如下。更多实例请参照以下黑白照片url地址:
/photo//////one-_.jpg
/photo//////roses-_.jpg
通过上述方法,可将黑白照片转化为彩色照片。操作步骤简洁明了,易于实现。
收录 万个矢量图标素材的FreeIcons,免费可商用!
Iconshock 开发了名为「Free Icons」的工具,提供超过 , 个免费开放源码的图标和超过 种开源图标集。这项服务优化了图标搜寻功能,让用户能更精确地找到所需的图标,并允许在下载前对图标上色,选择不同格式与尺寸大小。
Free Icons 以 Apache-2.0 License、MIT、SIL OFL 1.1 或类似授权方式释出,用户可自由下载并用于个人或商业用途。这些图标已重新标记,增加了易于搜寻与重新上色、选择尺寸大小与格式的选项。
在 Free Icons 网站下载所需图标。网站提供 SVG 原始档、PNG 和 WEBP 格式直接下载,PNG 格式支持 px、px 至 px 等多种不同大小。
网站界面提供清晰的开放源码图标集名称选择,并具备搜寻字段与切换大小、颜色功能。FreeIcons 也提供开发者 API 功能。
用户可在网站上选择不同图标颜色,下方有调色盘工具与复原默认值选项。将光标移动至图标上,可选择加入收藏夹或下载。每个图标名称旁有左右箭头,显示相关卷标,点击可搜寻相似图标。
注册账号后,可将个别图标加入收藏。进入图标页面后,能查看更大预览图,并透过右侧调色盘快速调整颜色。选择右侧对应格式下载 SVG、PNG 或 WEBP 格式图标,PNG 格式提供不同图标大小选项。每个图标集右上角有「License」按钮,点击显示图标集信息与授权详情。
「Free Icons」具备三个值得尝试的理由:收录超过 万个开源免费图标、 种图标集;在线预览不同图标大小与实时调整预览颜色;提供免费下载 SVG、PNG 和 WEBP 三种格式。通过「Free Icons」,用户能方便地获取所需图标资源,并享受高效、灵活的使用体验。
超火的漫画线稿上色AI出新版了!无监督训练,效果更美好 | 代码+Demo
超火的漫画线稿上色AI又有新突破!style2paints 2.0版本发布,采用无监督训练,为动漫形象带来更为惊艳的效果。只需上传一张手绘线稿,轻轻一点,你的收藏宝贝就能展现出丰富的色彩。
不同于早期版本,style2paints 2.0不仅能自动根据用户选择的参考图转换风格,还能精准响应用户在特定区域的提示,实现细致的色彩调整。它在保持颜色协调的同时,注重细节处理,追求漫画中角色眼睛的闪亮、脸颊的红晕和皮肤的精致,力求达到专业级的上色效果。
尽管风格迁移技术并不新鲜,但style2paints 2.0在处理纯线条草图时的复杂性不容忽视。它需要AI自行填充阴影和纹理,实现从黑白到彩色的转换,这并非易事。尽管目前没有详细论文,但其前身的Style Transfer for Anime Sketches算法已经展示了良好的基础。
style2paints 2.0的改进在于更纯粹的无监督训练,它依靠神经网络自我学习,而非硬性规则指导,这使得模型收敛更为困难,但最终效果令人满意。尽管市面上还有其他线稿上色工具,但作者对它们的评价并不高,认为在漫画风格转换上,GAN和用户自定义参考图是关键。
想要亲自体验style2paints 2.0的魅力吗?欢迎试玩Demo,感受线稿上色的新江湖。虽然官方论文尚未发布,但源代码已提供,探索技术背后的魅力。快来试试,让你的动漫收藏焕发出新的色彩吧!
thingjsä¸threejsçåºå«ï¼
html5canvasåwebglåthree.jsæä»ä¹åºå«
åºäºwebglç3Dæ¡æ¶ä¹ç®å§ï¼ä¼æå¨ç¥å°ºé èï¼WebGLä½ä¸ºOpenGLçåéï¼å¨HTML5ä¸æå¾å¤§çæ¿æ¦æ¯æå度ï¼ä¸è¿webglæ¯å¾åºå±çä¸ç§ææ¯ï¼ä¸å®¹æå½¢æ3Då¼åæ¦å¿µï¼æ以æå¾å¤åºäºwebglç3Dæ¡æ¶äº§çï¼å¸¸è§çæthree.jsãthingjsãd3.jsççã
thingjsæ¯è¿ä¸¤å¹´çæ°å ´æ¡æ¶ï¼æ¯three.jsæ´ä¸ºé¡¶å±ï¼ç¸å½äºä¸éè¦ä»»ä½3Dä¸ä¸ç¥è¯å¨å¤ï¼åªæå¾js,html5,canvaså¼åé»è¾å°±å¯éµå以è°è¯3Dææï¼å éå¼åæçï¼æ以åå°ä¸å°ä¼ä¸å¼åè ç欢è¿ã
thingjså¨çº¿å¹³å°æä¾3Då¯è§åå¼åå¥ä»¶ï¼3D模ååºæåä¸å¤ä¸ªæ¨¡åååºæ¯ï¼é¡¹ç®å¯¼å ¥å¹³å°æé»è®¤ç¯å ï¼å©ç¨3Dæºç å¼åç¯å ææãåæ¢2D/3dçï¼å 费注åthingjsè´¦æ·å¯çå°ä»¥ä¸3Dç¼è¾å¨ææã
javascriptç¨ä»ä¹å¼åå·¥å ·JavaScriptèªæ¨åºå就大åå¼åè çéçï¼åºäºJavaScriptçå¼åå·¥å ·ï¼è¿éå å«å¤§éçJSå¼åèµæºï¼å æ¬å端ãæ¡æ¶ãéç¨ç±»çï¼ä¸è®¡å ¶æ°ï¼å¼åè 们å¯ä»¥çµæ´»éæ©ï¼è½»æ¾æ建åºç¨ãæ¬æå享å款JavaScriptå¼å工仿æå ·
1.Kreate
è¿æ¬¾å·¥å ·æå©äºå¯¹jQuery对象快éçæDOMãä½ å¯ä»¥å建å个æå¤ä¸ªå ç´ ã
2.NightWatchjs
Nightwatchjsæ¥æä¸ä¸ªç®æ´è强大çè¯æ³ï¼è½å¤å è®¸ä½ å¿«éç¼åæµè¯ãå®æ¯ä¸ç¨äºæµè§å¨åºç¨åç½ç«çä¸æ¬¾ç«¯å°ç«¯çæµè¯è§£å³æ¹æ¡ã
3.Gulpjs
Gulpæ¯æ¯è¾ç«çå¼æºé¡¹ç®ï¼é ç½®æ´ç®æ´ãæ´ç´è§ï¼åå°å¾å¤å¼åè çéçã
4.EasyStarjs
Easystarjsæ¯å©ç¨JavaScriptAPIç¼åçï¼å¸¸ç¨è¯æ建HTML5游æãå¼åè å¯ä»¥å°å ¶ä¸ç°æçJSæ¡æ¶æé 使ç¨ã
5.Headroom.js
Headroom.jsæ¯ä¸æ¬¾è½»é级ãé«æ§è½çJSç»ä»¶ï¼æ ä¾èµæ§ï¼ã
6.Harpjs
Harpæ¯ä¸æ¬¾å¿«éçãè½»é级çWebæå¡å¨ãHarpservesJadeï¼Markdownï¼EJSï¼CoffeeScript,Sass,LESS以åStylusasHTMLãCSSJavaScripåå¯è½»æ¾é ç½®ã
7.GanttTwproject
Twoprojectæ¯ä¸æ¬¾å¨çº¿å è´¹çJSå¼åå·¥åµçå ·ï¼åºäºjqueryå建èæ¥ï¼æ¥æ强大迷人çå大åç¹æ§ï¼å æ¬CSSç®è¤æ ·å¼ãèµæºç¼è¾çã
8.Mocha
Mochaæ¯ä¸æ¬¾åè½ä¸°å¯çJavaScriptæµè¯æ¡æ¶ï¼å¯åºäºnode.jsåæµè§å¨è¿è¡ï¼å®ä½¿å¼æ¥æµè¯åå¾æ´ä¸ºç®åæ趣ï¼æ¯æçµæ´»ä¸åç¡®çè¾åºï¼ææå¼å¸¸ç°è±¡ã
9.ResponsiveNav
ResponsiveNavæ¯ä¸æ¬¾è½»é级çæ件ï¼å¸®å©ä½ 为å°å±å¹å建è¿æ¥å¯¼èªãæ¯æ为移å¨è®¾å¤å建触æ¸äº¤äºè®¾è®¡ä»¥åCSS转æ¢çç¹æ§ã
.FileAPI
æ³è¦å¼åç©èç½3Dåºç¨ï¼ç¨thingjsæ¹ä¾¿è¿æ¯threejsæ¹ä¾¿ï¼
æ¨è使ç¨thingjsæ¥å¼åï¼æ们å¯ä»¥å¯¹æ¯çä¸ä¸threejsåthingjsï¼é¦å äºè§£ä¸ä¸webGLã
WebGLå¯ä»¥å¤ç3Då¾åï¼å¬èµ·æ¥æ¯é常é«å ´çä¸ä»¶äºï¼ä½æ¯WebGLå®å¨æ¯å¤ªåºå±äºï¼WebGl解å³æ¯å¦ä½åç»å¸ä¸ç»å¾çé®é¢ï¼æä¹ç»ç¹ï¼çº¿ï¼é¢ï¼ææ¸ å«æ£ä¹ä¸è²ï¼æä¹è´´å¾ï¼æä¹å¤çå 线ï¼è§è§è½¬å¨ä¹åæä¹æ¢ç®ç»å¶ççãè¿äºå¯¹äºä¸ä¸ªå3Dåºç¨çå¼åè æ¥è¯´è¦å¦çä¸è¥¿å¤ªå¤äºãThreejsåºçåºç°è§£å³äºåºå±ç渲æç»èåå¤æçæ°æ®ç»æï¼ç»äºå°å¤æçåºå±ç»èæ½è±¡åºæ¥ï¼ä½¿å¾å¤§å®¶å¼å3dåºç¨æ´å®¹æäºä¸äºãåå¾å¤å¼åè 交æµthreejsé½æ¯ä»ä»¬é¦æ¬¡æ¥è§¦çWebGL3Dåºï¼å¹¶è½å¾å®¹æçå°±è½å¼å§åä¸èç»äºå®éªãä½æ¯ä½¿ç¨Threejså¼ååºç¨è¿æ¯é¨æ§å¾é«ï¼ä½å°±ä¸ä¸ªå 载模åï¼è°å ï¼éæ©æ¨¡åå¼¹æ¡çåè½ï¼å°±è½å¹²åºThreejsä¸ç¾è¡ä»£ç ãåæ¶è¿æå¾å¤å¤æç3Dæ¦å¿µéè¦ç解ãè¿æ¶å°±éè¦ThingJSäºã
ThingJSæ¯æ´ä¸ºä¸å±çæ½è±¡ï¼ä¸ç¨å ³å¿ï¼æ¸²æï¼meshï¼å 线çå¤ææ¦å¿µãå®æ½è±¡æ¯ä¸ä¸ªä¸ªå ·ä½ç模åï¼ThingJSå°è£ äºå¯¹æ¨¡å交äºäºä»¶çåç§apiï¼æ¯å¦åå»ï¼å·¦é®ï¼é¼ æ æ»è¿çï¼ThingJSå°è£ äºå¯¹æ¨¡åçæä½ï¼ä¾å¦ç§»å¨ï¼æ¾å¤§ç¼©å°ï¼ä¸è²ï¼å¾è¾¹ï¼çè³å¼é¨ï¼ThingJSè¿å°è£ äºæ¨¡åçå±æ¬¡å ³ç³»ï¼ä¾å¦ç©çåä½æ¯æ¾å¨æ个æ¿é´éçï¼æ¿é´åå¨æ个楼å±ï¼æ¥¼å±åæ¯æ个大楼çã大楼å¨ååºéã
æ´å¤äºè§£å¯ä»¥çä¸ä¸ç½é¡µé¾æ¥
2024-12-23 06:39
2024-12-23 06:16
2024-12-23 05:59
2024-12-23 05:10
2024-12-23 04:56