Realtime Grass Rendering on Mobile Platform| 移动端实时草地渲染

Realtime Grass Rendering on Mobile Platform| 移动端实时草地渲染
有很多很多不同的技术了。 题图是一个人的demo,Real-Time Grass Rendering,跟我没啥关系 要渲草的话,OpenGL ES2.0/DX9及以下就不用考虑了。至少要支持GPU Instancing,有Compute Shader更好。 理想平台:OpenGL ES3.1/Metal/Vulkan 1. Rendering Countless Blades of Waving Grass GPU Gem上的文章,链接在这里 主要思路: 1. 贴图 一张alpha-test的贴图 2. 插片 3. 风 为了避免变形扭曲和减少drawcall,定点要记录每个草的中心位置,根据中心位置做随机偏移 主要意义在于提出了草插片,不过其他都没啥考虑。   2. Rendering Grass in Real Ti...
Read More

Mixed Lighting Lightmap & Shader in Unity | Unity中混合光照Lightmap研究

Mixed Lighting Lightmap & Shader in Unity | Unity中混合光照Lightmap研究
Unity中有三种灯光模式:Realtime Lighting, Mixed Lighting, Baked Lighting. 第一种是实时计算的,第二种是实时与烘焙混合的,第三种所有灯光都是烘焙的。 在Mixed Lighting中处理Lightmap的同时还要考虑实时灯光,Shader上会复杂一点。并且Mixed Lighting中有三种模式:ShadowMask, Bake Indirect和Subtractive,三种模式的Lightmap定义不一样,这就很尴尬了。那么首先介绍一下这几种模式: Bake Indirect 烘焙直接阴影,只烘焙间接光,在Shadow Distance(Project Settings>Quality>Shadows里面设置)之内的阴影都是实时计算的(Shadow Map)。 所谓间接光,就是物体之间互相反射的那些光,也包含A...
Read More

Maya Python Workflow | Maya Python工作流程

Maya Python Workflow | Maya Python工作流程
半年没有更新了,我一切都好。这半年经历的事情很多:参加CAADRIA、拒掉留学Offer、做完毕设研究生毕业、搬到杭州、加入猪厂。一个新阶段的开始。 这一篇主要总结一下使用Python开发Maya插件的准备工作和基本工作流程。 1. 环境部署 开发之前需要进行一些准备工作。 1. devkit 就是Developer Kit啦。 有了它就可以用C++写maya插件了。不过这不是我们关心的,我们想用python快速开发插件。devkit里提供了一些示例,当然最重要的是自动补全的功能。这个下面配置编辑器时会用到。 2. Sublime Text部署 笔者用sublime text写代码的,毕竟原生的控制窗口太难用了。部署sublime环境的第一件事是装Package Control。有了它就可以方便快捷地安装sublime的插件了。 在这里可以找到Package Contr...
Read More

Some Random Thoughts on Marlin | Marlin随想

Some Random Thoughts on Marlin | Marlin随想
为了毕设做打印机研究3D打印机啊。 1 Marlin Marlin是一种3D打印机的固件(Firmware)。所谓固件,就是刷进开发板(或者单片机,比如Arduino)的程序。我们用Arduino的时候,上传的程序就是固件。3D打印机有很多类型的,比如Makerbot,Ultimaker,ZCorp等等。其中最简便最普及的是Reprap的。Reprap是一类打印机,其中很多不同型号,其中比较有名的像Mendel, Prusa, Huxley。而它们共同的特点是由Reprap社区开发的,大多是开源的,自复制的。因此非常便于DIY和改装。 固件也是有很多种的,比较有名的就是Grbl,Sprinter,Teacup等等。Marlin是基于Grbl和Sprinter开发的,这两年非常的活跃。支持的板子和LCD型号极为丰富。参考一下Github上几种固件的活跃度。所以选择了这个固件...
Read More

PyQt+QtDesigner App Dev Workflow | PyQt + QtDesigner 小程序制作流程

PyQt+QtDesigner App Dev Workflow | PyQt + QtDesigner 小程序制作流程
0. 起因 毕设要做一个发送GCode的小程序,需要GUI。所以接触了一下PyQt. 1. 安装 需要Qt,在Qt官网下载即可。想下载的话要回答一些问题,我选的in-house deployment,接受LGPL v3之类。然后选择一个完整版的Qt,800Mb左右。 Python环境,我就用的Anaconda,一个集成的Python环境。要不然原生Python装依赖库比较麻烦。我选择的Python2.7,主要因为很多行业软件还没升到3,比如Rhino, Houdini. PyQt5,用Anaconda装比较方便。用pip的话似乎只有py3.5版本的? pyinstaller,发布为exe时用。直接 pip install pyinstaller 2. 界面制作 制作GUI需要Qt Designer。类比一下,Qt Creator相当于Visua...
Read More

Houdini Terrain | Houdini 地形生成

Houdini Terrain | Houdini 地形生成
讲道理呢,World Machine的地形用Houdini都是可以做出来的。不过还是有些局限,尝试了一下。 1. 噪声地形 主要就是两类:Voronoi 和 Perlin Voronoi Voronoi很简单,VOP里面直接就有Voronoi Noise 出来和World Machine的很像。 Perlin Perlin可以用Vop 里面的aanoise,不过这里选择了用wrangler写VEX。思路就是很多不同频率的aanoise叠加起来,傅里叶变换嘛。 代码是: float turb(vector sample_point; float roughness; float lacunarity; int octaves;) { float sum =...
Read More

Special Particle Effects in Houdini Vex | 一些特殊粒子系统 in Houdini VEX

Special Particle Effects in Houdini Vex | 一些特殊粒子系统 in Houdini VEX
感受了一下Houdini VEX,语法比较像C。但如果要说相似度的话,我觉得它更像Shading Language比如GLSL。可以逐个操作Point, Vertex, Primitive。像极了GLSL的Vertex Shader/Fragment Shader。区别在于Point Vertex Primitive是Houdini内置的数据结构,而且VEX不是GPU片段。但是思路和写Shader无比相似。由于操作数据直接就是几何信息,而不是渲染使用,所以VEX也可以用来建模,效率很高。当然VEX也可以用来写shader,它有很多Context,Surface就是Surface Shader,建模用的SOP contex,还有粒子POP Context等等。 尤其是粒子系统,写VEX会比OpenGL,RhinoPython之类方便快捷的多。 和OpenGL对比: + 自带at...
Read More

Introduction to Cracking .Net Assembly | 一些.NET程序集的破解初探

Introduction to Cracking .Net Assembly | 一些.NET程序集的破解初探
0. 起因 当然就是要破解Grasshopper插件。但是其实起源于笔者破解另一个C#程序。 1. .NET .NET是微软开发的一套技术平台,在其上可以方便快捷地搭建各种应用。.NET应用是基于.NET Framework的,后者是一个类库,一个程序的基础框架,包含很多系统和常用的API。.NET框架主要适合于Windows应用的开发,毕竟是自家的操作系统。当然最近好像也开始支持Linux了,这样基于.NET编写的应用就可以跑在linux。 因为.NET框架在Windows系统上非常通用,所以很多软件都是基于.NET开发的,比如建筑学生最常用的Rhinoceros,以及同样的Rhino插件Grasshopper及GH插件。 .NET框架的一个特点是不限定编程语言,使用C#, VB.NET以及F#均可以开发,这些高级语言具有互操作性,也就是不管用什么语言都可以被编译成一套...

Some Notes on Physical Based Shading | 有关基于物理着色的资料

Some Notes on Physical Based Shading | 有关基于物理着色的资料
弱渣从头开始学图形学,大作业基本功能都做完了准备搞事情,想写个基于物理的着色器。只好从头开始学习BRDF。 PBS这套流程最近几年非常流行,主要是为了帮助美术减少材质的错误的。我就是主要读了几篇论文,看了看别人的代码。 Torrance-Sparrow 看的很多PRS的文献都会提到Torrance-Sparrow模型,1967年的一篇文章Theory for Off-Specular Reflection From Roughened Surfaces. 讲的是他们提出了一个粗糙表面的模型来解释材料受到光照时的表现。文中提出。如最上面那张图,Diffuse项之和入射角度有关,Specular实际上来自于物体表面有一定比率的微表面发现是入射与出射光的平分线(后来从Blinn-Phong中借鉴了下改叫H)。 当然论文了计算了一大堆,最后得到这样一个公式: 这个公式...
Read More

Thesis(WIP) 1

Thesis(WIP) 1
近来重心在做毕设,学图形学,写论文。毕设上周刚开过题,这周设计了一版打印机,下周就要开始下单组装啦。 3DP原理,binder使用环氧树脂,粉末使用石英砂。 放个谍照啦。
Read More

Flowmap in OpenGL | OpenGL中Flowmap水面

Flowmap in OpenGL | OpenGL中Flowmap水面
笔试的时候有这么一道题,讲模拟水面,用FlowMap。当时没有太懂,就随便回答的,正好这次图形学大作业有机会来实现一下。 FlowMap是用来解决水面流动方向单一问题的方法,SIGGRAPH2010上有篇文章讲的V社做Portal2时使用Flowmap的方法,见此。V社官网上也有一篇文章讲水面内容相似。他们做好场景以后用Houdini做了一个Flowmap,也是蛮厉害的。还有一篇博客,不过讲的不是很清楚,没说FlowMapOffset0和FlowMapOffset1怎么算。 注:以下代码是GLSL version 3.3 最朴素的scrolling diffuse map,就是根据时间改变uv坐标了。 ... in vec2 uv; out vec4 color; uniform vec4 tiling; uniform vec2 direction; uniform floa...
Read More

Notes on ACADIA2016 | ACADIA2016记之一(美国计算机辅助建筑设计协会年会)

Notes on ACADIA2016 | ACADIA2016记之一(美国计算机辅助建筑设计协会年会)
上周赴美国参加了ACADIA2016(Association of Computer Aided Design in America)的的国际会议。今年在密歇根安娜堡的密歇根大学举办,已经是第36届。这个会虽然不在本校国际会议目录中,但是计算机辅助建筑设计界最高规格的会议,并列的还有亚洲的CAADRIA,欧洲的eCAADe等等。会议的同行评议论文接受率为28%,选择性相当高。 同行的还有师兄YL和他的ASW工作室,他们中了一篇paper和一个project。其中project还获得了runer-up,也就是最佳项目的第二名。另外HWX老师的三名研究生一同前往。再有就是同济的YF老师和他的博士生了,他们有一篇论文。国内前来的只有这么些人,圈子还是很小的。前年时导师及师兄受邀参展,那是在USC的ACADIA2014。也是我第一次听说这个会议。ACADIA2015投了project未中,今年...
Read More

Unity dynamic pathfinding using A* Pathfinding Project | Unity动态更新导航使用A* Pathfinding Project

Unity dynamic pathfinding using A* Pathfinding Project | Unity动态更新导航使用A* Pathfinding Project
最近遇到不少坑,比如在用OpenGL写一个烂俗的魔方的大作业,发现GLUT的pop-up menu,居然GLFW没有,还没想好怎么办。还有一个坑是Unity动态更新导航(Rebake Navigation on runtime)。Unity自带的NavMesh功能固然好用,但有两个缺陷: 1. 只能根据NavMeshObstacle更新NavMesh,NavMesh的烘培只能在Editor里,不能动态更新NavMesh 2. NavMesh固定Y为垂直方向 这就无法满足最近在做的项目的需求了, 1. 需要动态加载场景,也就是不仅障碍物是动态的,道路也是动态加载的。当然稍微好做一点是因为这个项目里动态加载的都是模块Prefab,这要是全部Procedural场景目测要复杂不少。。 2. 重力方向要runtime改变,不过稍微简单一点的是其实重力方向只有六种可能X+, X-, Y+, Y-,...
Read More

OpenGL Getting Started!

OpenGL Getting Started!
最近一周开始学OpenGL。因为选了图形学的课,有不少作业呀,比如写个简单的物理引擎、写个简单的地形引擎、实现某篇论文等等。 科班出身的大概都是从OpenGL开始接触的图形学吧,像我这种野路子进阶路线比较诡异。最开始当然接触的是Rhino,不过Rhino里面都是固定渲染管线,只是熟悉了一些Nurbs和Mesh的几何特性。后来写了些Processing,相当于一个简化的JAVA封装版OpenGL。Processing 2.0大约是OpenGL 2.0,3.0就对应3.0。当时学写的时候用的2.0。  再之后过了一遍乐乐学姐的UnityShader入门精要,基本上是入门Shader的同时完整入门了下图形学的知识。在之后就是翻书突击图形学了。像我这种先写过Shaderlab再学OpenGL的应该不多吧。 图形学的课居然教的还是OpenGL 1.1/2.0,用Nehe Tutorial。这TM...
Read More

Gamification of Grasshopper Teaching ?| Grasshopper教学的游戏化?

Gamification of Grasshopper Teaching ?| Grasshopper教学的游戏化?
最近的在想能不借鉴游戏的方式,提高软件教学的效率?大概有这么几个起因。 第一是研究生和大三的Studio让我去教Rhino和Grasshopper,第一次教的比较尴尬。时间紧任务重最后简直变成了我演示,大家观看。本来应该大家通过操作来学习的,似乎并没有应有的效果。 第二是教GH呢,我还真是第一次教。上学期都是师兄教GH我教Rhino。当时的教学方法主要是case by case从头到尾的演示,大家跟着做。大家水平参差不齐容易跟不上或者超前没事做。有没有更好的教学方法。 第三是接触了一套教程,叫做Grasshopper Challenge。原作者是Dan Taeyoung,Columbia GSAPP的助理教授。项目在Github.,通过一系列的小任务来循序渐进教学GH,如下图: 于是最近还真试验了一下用这套Grasshopper Challenge来教学,我...
Read More

[Translation] Assassin’s Creed Unity: London is not built in one day | [译]刺客信条枭雄:伦敦不是一天建成的

[Translation] Assassin’s Creed Unity: London is not built in one day | [译]刺客信条枭雄:伦敦不是一天建成的
上周虚拟主机运营商更换服务器,DNS解析挂掉了,网站就一直不能访问了。昨天把DNS解析搞到DNSPod,现在目测是局地能访问,笔者正挂着VPN写博客。 [su_spacer size="70"] 今天整理的是GDC2016的一个Presentation,题目是“Assassin's Creed Syndicate London' Wasn't Built in a Day”,来自育碧魁北克工室。主讲者Damien Bastian(下称老D)是魁北克工作室的Team Lead Tools工具主管,做工具链的程序员。稍微八卦一下,老D是法国人,在法国Epitech拿的CS本硕,一个著名的私立软件学院。之后在Eugen Systems当Tool Developer。EugenSystem 是一个小工作室,好像只有50名员工,制作了战争游戏(Wargame)和兵者诡道(R.U.S.E)...
Read More

[Translation]Model Cities in Independent Day 2 | [译]独立日2中的城市创建

[Translation]Model Cities in Independent Day 2 | [译]独立日2中的城市创建
主要是两个视频讲座:Model Cities with the Tech Behind Independence Day: Resurgence和Independence Day Resurgence – CityEngine Workflow with Matthias Buehler,这两个视频基本一样。后一个比前一个多补充了些live demo,就是CityEngine官方示例文件的展示。 主讲人Matthias Buehler(下称老M)有必要介绍下,建筑学的背景,之后转行做特效和场景。2007年从ETH MSc Arch毕业,目测是一个Post-Professional的研究型硕士。在建筑和景观事务所做设计和渲染干了两年,跳到了ESRI做产品。那时候ESRI应该刚收购CityEngine,猜测这位兄台应该也就是用CityEngine做些什么DEMO。15年跳到了温哥华Sca...
Read More

Transfer Lightmaps in Unity | Unity中转移光照贴图

Transfer Lightmaps in Unity | Unity中转移光照贴图
unity中光照贴图(lightmapping)的存储方式比较特殊,烘焙好的光照贴图存储在场景中,而参与烘焙的物体本身不记录光照贴图,只记录一组uv数据对应光照贴图。在显示的时候,shader通过这组uv坐标访问物体的光照贴图信息,再显示出来。 并且这些光照贴图没法用手动编辑,只能写脚本编辑。 而相对应的如果不在unity中烘焙,而在maya中烘焙,就是一张lightmapping放在shader的自发光贴图里面了。 所以问题在于,在unity中一个场景里烘焙的物体很难带着光照贴图放到另一个场景里。如果我们非要这么干,就得给被烘焙的Prefab加个脚本,记录光照贴图,在加入其它场景中重新加载光照贴图。 1. 光照贴图访问 首先是要访问一下Prefab里面所有子物体,从根节点遍历一下这个树就可以了,非常简单就不提了。 烘焙过的物体会有一个光照贴图的uv信息,以及所使用的...
Read More

Transformation in ShaderLab | ShaderLab中的空间变换

Transformation in ShaderLab | ShaderLab中的空间变换
写Shader经常会碰到一堆得空间变换,而又经常想不起来变换矩阵的名字,因此整理一下。 1 物体空间(Object Space), 顶点着色器接收的语义项比如POSITION, NORMAL, TANGENT都是在这个空间下 2 世界空间(World Space) 3 观察空间(View Space),以摄像机为原点 4 裁剪空间(Clip Space),裁剪空间,最常用的UNITY_MATRIX_MVP就是转换到这个空间 5 切线空间(Tangent Space),用了法线贴图就会涉及这个空间 关系到空间的转换,所以有5C2=10类。 再加上物体和世界空间中都有可能访问两种固定的类型,比如灯光,视线。 1. 物体空间-世界空间(1-2) 以前叫_Object2World,新版本改叫unity_WorldToObject了,其逆变换为unity_ObjectToWo...
Read More

[Translation]TechArt Culture in Uncharted4 | [译]“神秘海域4”中的技美文化

[Translation]TechArt Culture in Uncharted4 | [译]“神秘海域4”中的技美文化
原视频是GDC2016上的演讲Technical Art Culture of 'Uncharted 4' "神秘海域4"(Uncharted 4)是顽皮狗(Naughty Dog)的新作,在今年GDC和SIGGRAPH都有很多展示。 主讲者Andrew Maximov(下称老莫)是顽皮狗的Lead Techinical Artist,似乎是俄罗斯(或者白俄罗斯人?)职业生涯从2008年开始于一个塞浦路斯游戏公司Wargaming.net,2012年跳到蒙特利尔Gameloft,2014年来到顽皮狗。 整个演讲分成七个小节。 1. Game Developers vs Specialists. 贵司的组织架构比较扁平和独立,员工都有自己负责的一部分内容。所以比如负责材质的找负责灯光的不需要经过上级领导。更多的是员工是自己那部分负责内容的Producer,所以贵司的员工更像...
Read More

Terrain Making in World Machine | World Machine地形制作

Terrain Making in World Machine | World Machine地形制作
研究了一下WorldMachine生成地形 峡谷 丘陵 雪山说起来地形制作也有了一点经验,下面总结总结。 雪山 雪山,来自CryTek有关雪山的资源是比较多的,在ArtStation上就有很多人做过雪山,比如K. Teper的,M. Perchun的,I Shinsoj的. 视频教程也有不少,比如P Gaur,I Shinsoj的。 其中非常有启发的I Shinsoj那个教程。虽然WM有一个Snow的节点,但Shinsoj大神做雪山完全没有用那个节点。。。。。S的思路主要有如下几点: 1. 同一个基础模型做两个Erosion,使用Max方式来混合,前一个Erosion使用高Rock Hardness,模拟山体岩石,后一个高Sediment Carry Out,模拟冲刷走的积雪。二者混合。 2. 对Perlin Noise可以Select Height或Sel...
Read More

[Translation]Basic Theory of Physically-Based Rendering | [译]基于物理渲染的基本理论

[Translation]Basic Theory of Physically-Based Rendering | [译]基于物理渲染的基本理论
原文是Jeff Russell所写的Basic Theory of Physically-Based Rendering 广义上的基于物理渲染(PBR)是最近在实时渲染领域激动人心的潮流。这个术语的广泛传播常常让人误解它的准确定义。简短的定义是“很多事”和“看情况”,当然这不令人满意。所以我决定自己些功夫解释PBR到底代表什么,以及它和传统渲染方法有哪些区别。这篇文档的主要对象是非工程师(主要是美术),而且不会展示任何的数学或者代码。 基于物理着色系统与之前方法的主要区别在于对光线和表面行为更细致的推理。这种着色方法已经足够先进,可以抛弃以前的近似方法,抛弃以前制作艺术的方法了。这意味着工程师和美术人员应当理解这些改变的动机。 我们将会从一些基本概念开始,它们已经有了很好的定义。之后我们会着重于新的部分。但如果你已经忍受过我的文章就会发现它们非常值得阅读。你也许会对看Jo...
Read More

Quick Intro to City Engine | City Engine浅谈

Quick Intro to City Engine | City Engine浅谈
研究了一下City Engine。这个软件现在归ESRI公司,也就是开发ArcGIS的公司,所以这个软件的定位主要在GIS系统,城市规划等等。 主要原理 City Engine建模的主要原理叫Procedural Modelling,一个计算机图形学术语,大概就是用一些算法和规则来建模。比如分形,比如做树的L-System,比如建筑里面的Generative Modelling都属于Procedural Modelling。但隔行如隔山啊,读了五年建筑从来没听说过这个名词。逐渐接触了才知道,这特么不就是建筑学里的参数化建模么,而且更加彻底,模型都是完全用参数控制的。当然目的不是非线性建筑学追求的美学效果,那通常需要加入不少手动的操作。其目的是城市建模。用建筑学的说法大概像非线性建筑学想做的是地标建筑,Procedural Modelling当然也可以做,不过大部分在做背景性建筑。这种应...
Read More

Quick Intro to World Machine | World Machine初涉

Quick Intro to World Machine | World Machine初涉
最近在学习World Machine的作业。油管上有不少教程。 这个软件一般被用来制作游戏中的开放地形。 上图是一个小练习。 这个软件也是节点式的建模软件,非常类似GH,它的电池称为Device。而编辑地形原理又很像ps,只不过操作的不是颜色信息而是一个通道的高度信息。其原理一般分为五步: 创建地形。在Generator面板下。 Perlin噪波贴图生成地形(即噪波作为Height Map,就像ps噪音或者云雾), 自己绘制地形(Layout电池,就像ps笔刷) 。 还有梯度(Gradient电池),就像ps渐变色。等等。 修改地形。都在Filter面板下: Clamp把高度重新映射到一个范围,就像ps色阶下面的滑条 Terrace产生台阶地,就像ps色调均化。 还有blur。 equalizer比较像阈值? bias/gain有点像色...
Read More

[Nonsense] A comparison of architect and other professions [乱谈]建筑师与其他行业职能对比

[Nonsense] A comparison of architect and other professions  [乱谈]建筑师与其他行业职能对比
上篇是学术,这篇是扯淡。这学期有点不务正业,其中前半学期很多时间都花在找实习上了,因此对于非建筑行业有了一点了解。本文适合想转行的建筑系学生阅读,也适合想转到建筑行业发展的人阅读。 主要对比三个行业吧:互联网,游戏和建筑。 建筑与其他行业相似点 设计流程 不管在那个行业,做产品的流程都是相似的(姑且先把建筑当成产品看待)。在计算机里这个管理方法叫做软件工程。建筑里没有人讲这样的术语,虽然大面上的流程固定,分为概念设计(Schematic Design),扩初(Design Development)和施工图(Construction Document),但每个阶段都需要不停迭代。评估,修改等等,类似于敏捷开发。只不过方案的过程一般比较随意,从来没有版本控制的意识,文档的撰写等等。到了施工图的管理会正式不少,各专业修改还会出变更单,与施工单位每周都要开会检查进度与施工图对应...
Read More

Getting started with Caffe | Caffe的安装与使用

Getting started with Caffe | Caffe的安装与使用
本来第二篇可以写其他内容的,比如前端和Javascript、建筑大数据与可视化、仿生找形,但这篇怎么就写了深度学习了呢,说来话长。这学期选了HCI课,本来以为能学习UX设计,然而并没有学到,相反读了很多论文。期中研究的社交媒体中亲密关系的监控行为。期末大作业本来可以选作VR的,但是被分配了机器学习作为课程项目。就这样,接触了好多很多新奇的内容。 1. 卷积神经网络 原理 卷积神经网络是一种特殊的神经网络,可以用卷积处理二维区域的数据,尤其适合识别图像。 Fig1 卷积神经网络图示如图1所示,神经网络输入一张图片后,一般会用卷积核对图片每一个小区域做卷积(Convolution),卷积层后面一般会有池化层(Pooling),激活层(比如ReLU),norm之类,网络最后一般有全连接层(FC)来输出分类。 图片输入时会转成一个矩阵(or 张量?,Caffe里称为blob)...
Read More

Hello world!

Hello world!
高中时候用过百度空间,前年没有了。还用过Live Space,消失的更早。上大学以后在豆瓣和知乎都写过一些,但是豆瓣潜水的越来越多。这个博客是第一次注册的独立域名,准备写一些技术相关的内容吧。 第一篇写写关于建网站的好了。 主机 主机是存放网站的服务器,需要常年在线,需要访问速度比较快。北美、日本、香港都有主机,便宜的一年一两百就能拿下。 去年十月在Godaddy注册的ma-yidong.com,一年10刀左右。主机没有买wordpress的,太贵,一个月三四刀。选了website builder。但是功能太弱,再加上学期中没有什么时间就一直没管。放假开始找主机,想自己建网站。最终选定了主机格调。一年169的香港主机,速度还不错。期间走了些弯路,购买了阿里云提供的虚拟主机,对大学生有促销,60元左右就能用一年。但是有注册域名的问题,遂放弃。国内主机的另一个问题是必须要填表备...
Read More