(本文未经许可禁止转载)

           

更新方式 (How to update)

前往购买时订单上记载的链接下载更新。
淘宝客户:前往淘宝,查找我们给您的序列号信息,里面有记载最新版软件的链接。
预设合作伙伴:查看提交预设时所用的邮件,里面有记载最新版软件的下载链接。

We have written the update link into the serial number notification email. Nevigate to Gumroad to find the email address that you provided to receive the serial number notification email.

ピクセルスワールド最新バージョンのダウンロードリンクは、購入時にご提供になった「シリアルナンバーを受信するメールアドレス」にお送り致しました。もしそのメールアドレスに記憶がない場合であれば、「Gumroad」にログインし、購入記録をご参照ください。


更新历史 (History)

PixelsWorld v2.3.3 Important!

2020/5/15

  • 修复了16bpc下颜色映射错误。
  • Fixed wrong color map under 16bpc

PixelsWorld v2.3.2

2020/5/14

  • 修复了16bpc下透明度信息丢失的bug,这个bug存在于v2.3.0和v2.3.1。
  • Fixed wrong render result of alpha under 16bpc, this bug happens on v2.3.0 and v2.3.1

PixelsWorld v2.3.1

  • 修正了索取参数音频层崩溃的bug
  • Fixed crash while fetching audio data from other layers.

PixelsWorld v2.3.0

2020/5/8

  • 加入pw.print,pw.println,pw.alert,移除pw.debug模块
  • 给Lua模式加入pw.beginShaders()pw.endShaders(),在此之间的所有shaders(诸如:pw.glsl, pw.shadertoy, pw.full_glsl)将获得GPU加速。并在endShaders时向Ae返回计算结果
  • 加入了duration,可用来获取图层长度。
演示代码:输出信息(请使用Lua模式)
Example: Print information (Please run it under Lua mode)
  • Addpw.print,pw.println,pw.alert,removedpw.debugmodule.
  • Add pw.beginShaders() and pw.endShaders(), shaders such like pw.glsl, pw.shadertoy, pw.full_glsl will get GPU acceleration, and will return the result to Ae while calling pw.endShaders()
  • Add duration: the length of the layer.
pw.println("Hello world!");
pw.alert("Warning: Hello world! this is alert message!");

str= "Hello world! Actually you can print arbitrary color fonts! \nTime: ".. math.floor(time) .. " s";
for i=1,#str do
    local c= str:sub(i,i);
    pw.print(c,1,math.fmod(i*0.568741,1),math.fmod(i*0.87874,1),math.fmod(i*0.7858,1));
end
pw.print("\n");

PixelsWorld v2.2.2

注意:v2.2.2为企业临时发布的特别分支,未公开
Note: This version is for company, no public release.


PixelsWorld v2.2.1

2020/5/2

  • 加入了inWaveS来获取音频采样率。现在起inWaveinSpec的长度不再是通过固定公式计算的了,它将取决于你GPU的最大缓存长度。所以texture(inWaveL,0.75).x不再代表下一帧的波采样,取而代之的是texture(inWaveL,0.5+1./fps*inWaveS/inWaveN )
  • Add inWaveS to obtain the sample rate.Now the length of inWave and inSpec only depends on the GPU capability of your machine. texture(inWaveL,0.75).x doesn’t mean next frame’s wave anymore, use texture(inWaveL,0.5+1./fps*inWaveS/inWaveN ) instead.

PixelsWorld v2.2.0

2020/4/28

  • 修正了无法正常保存预设的bug
  • 现在起PixelsWorld将不受文件夹名称的限制,您可以把PixelsWorld放在Plugin目录下的任何位置
  • 加入声音波形信息的获取和频谱信息的获取,使用inWaveL,inWaveR来获取波形数据,使用inSpecL,inSpecR来获取频谱数据(详见下面的源代码)
  • 合并了同人预设:Bloom - by PiDanHalftone - by PepperKUN
  • 颜色参数现在起支持16bpc颜色和32bpc颜色
  • Fix bug when saving presets
  • Since this version, you can put PixelsWorld anywhere inside Plugin folder, not only in MiLai folder.
  • Add inWaveL,inWaveR to obtain the sound data and inSpecL,inSpecR to obtain the spectrum data (Read the code list bottom for more details).
  • The color parameter now supports 16bpc and 32bpc color.

The definition of inWaveL, inWaveR, inSpecL and inSpecR are as follow.
(Use the WaveVisualization preset to get start. )

/*
Since V2.2.0, the sound data can be read and render by PixelsWorld!!!

Use "texture(inWaveL,0.25).x" to obtain the sample of LEFT channel on CURRENT time. 
Use "texture(inWaveR,0).x" to obtain the sample of RIGHT channel on LAST frame. 
Use "texture(inWaveL,0.75).x" to obtain the sample of LEFT channel on NEXT frame. 

Waveform data range: -1 ~ 1, 0 is the middle. 

When mono, inWaveL and inWaveR will be same . 

texture(inSpecL,1.0).r returns  11025 Hz 's amplitude. 
texture(inSpecL,0.0).r returns      0 Hz 's amplitude. 
texture(inSpecL,1.0).r/sqrt(inSpecN) to scale the big result down. 

The sample rate is 44100 Hz.
Sample range: current-2 frame to current+2 frame

Spectrum data range: 0 ~ infinity

FFT sample number: 4096 or less,
only the first quarter of sample will be load by PixelsWorld.

*/

uniform sampler1D inWaveL; // Input waveform of left channel
uniform sampler1D inWaveR; // Input waveform of right channel
uniform float inWaveN; // Sample number of wave
uniform sampler1D inSpecL; // Input spectrum of left channel
uniform sampler1D inSpecR; // Input spectrum of right channel
uniform float inSpecN; // Sample number of input spectrum.

PixelsWorld v2.1.0

2020/4/7

  • 修改了测试版水印,把X记号改成了Powered by PixelsWorld
  • 在GLSL模式下加入了摄像机的支持(详见下面的代码),像素世界自此在插件面板上会多一个3D小盒子的标志。
  • 加入了合成时间(comp_time)的支持。与图层时间(time)区别使用。
  • Change the watermark from X to Powered by PixelsWorld.
  • Add support of active camera and comp time. See code list bottom to learn more details. Start this version, there will be a 3D box symbol shows beside the PixelsWorld plugin title in Effect Control Panel.
  • Added comp_time for getting the time in comp scope. This is different from time.
Newly added predefined code in v2.1.0
// Composition time, not layer time. 
uniform float comp_time; 

// Full Preview Quality: vec2(1.0,1.0).
// Half Preview Quality: vec2(0.5,0.5).
// Third Preview Quality: vec2(0.3333,0.3333). 
// Fourth Preview Quality: vec2(0.25,0.25). 
// ...
uniform vec2 downsample; 

// Column major 4x4 active camera matrix.
uniform mat4 camera_matrix; 

// camera_info.x: width of camera far plane. 
// camera_info.y: height of camera far plane.
// camera_info.z: distance to far plane. 
// camera_info.w: distance to focus plane. 
// Examples to use them:
//      Radians of view (ROV): 2*atan2(camera_info.y/2.,camera_info.z);
//      Focus plane height: camera_info.w * tan(ROV/2.);
// camera_info.z doesn't change while user changing focus, camera_info.w does. 
uniform vec4 camera_info; 

// Is the active camera in perspective mode or not (orthographic)
uniform bool camera_perspective; 

// Convert global position to camera position.
vec3 lookat(vec3 globalxyz){
    return transpose(mat3(camera_matrix)) * (globalxyz - camera_matrix[3].xyz);
}

// Convert global position to PixelsWorld position. 
// Return value: myuvw;
//      myuvw.x: 0~1. 1 means the right border of the layer;
//      myuvw.y: 0~1. 1 means the top border of the layer;
//      myuvw.z: 0~1. 0 means plane where camera in, 1 means the focus plane.
// You will only get the correct value when the size of layer equals to that of the comp.
// Don't forget to devide the result by 'downsample.x' 
// to get the correct position while in Half Quality preview mode. 
vec3 xyz2uvw(vec3 globalxyz){
    vec3 eyepos = lookat(globalxyz);
    vec3 myuvw;
    if(camera_perspective)
    {
        myuvw.x = eyepos.x * camera_info.w / (camera_info.x * eyepos.z) + .5;
        myuvw.y = -eyepos.y * camera_info.w / (camera_info.y * eyepos.z) + .5;
        myuvw.z = eyepos.z / camera_info.w; 
    }
    else
    {
        myuvw.x = eyepos.x / (camera_info.x * 2.) + .5;
        myuvw.y = -eyepos.y / (camera_info.y * 2.) + .5;
        myuvw.z = eyepos.z / camera_info.w; 
    }
    return myuvw;
}

// Get the real number of point in Parameters panel, not the value 0~1.
// If you linked the value of point3d with other 2D parameters, 
// the result need to be devided by 'downsample.x'. 
vec2 rawpoint(int id)
{
    return (point[id] - vec2(0,1)) * vec2(1,-1) * resolution.xy;
}

// Get the real number of point3d in Parameters panel, not the value 0~1. 
// If you linked the value of point3d with other 3D object, 
// the result need to be devided by 'downsample.x'. 
vec3 rawpoint3d(int id)
{
    return (point3d[id] - vec3(0,1,0)) * vec3(1,-1,1) * vec3(resolution.xy,1);
}

PixelsWorld v2.0.2

2020/3/31

  • 修改了pointpoint3d的默认值映射方法。现在起你可以在参数管理器里面设定point的默认值为0.5,0.5来表示屏幕中心点。且我们把原点设为屏幕左下角(为了保持跟GLSL一致)。
  • This update changed the map methods of point and point3d, now you can set 0.5,0.5 to point in Parameter manager to specify the center of your screen. And the origin is at the left bottom corner of your layer.

PixelsWorld v2.0.1

2020/3/30

  • 在更新提示窗口中加入了更新日志链接
  • 修复了来自用户提供的bug报告:打开参数编辑器时显示undefined错误
  • 关闭了在渲染控制台模式下的更新提示 > – Add link of update log to update window
    • Fixed reported bug: undefined error while opening parameter manager.
    • Hide update window while in console render engine mode.

PixelsWorld v2.0.0

2020/3/6

  • 更改版本号格式为x.x.x
  • 重新改写全体渲染框架,从底层代码支持了shadertoy上的渲染代码,渲染更快,图像更精准,响应无延迟。
  • GLSL和shadertoy将支持获取计算机日期数据(date和iDate),大到年月日,小到毫秒。
  • 全新脚本输入面板,可管理参数名称,参数默认值,以及默认语言。
  • 预设文件全面升级,支持参数数据记录。
  • Lua加入request模块,可以更方便地通过http协议访问网络
  • Lua加入shadertoy函数,现在可以通过Lua渲染shadertoy代码
  • 加入升级提示窗口
  • Set the version format to x.x.x.
  • Supports shadertoy natively.
  • Add date and iDate to specify the date in your computer.
  • New Code Editor, you can manage parameters\’ name and default value now.
  • New preset panel. Supports parameters data record.
  • Add request model to Lua
  • Add shadertoy function to Lua
  • Update notice window.

PixelsWorld v1.4

重要版本更新,该版本会导致小部分GLSL代码发生不同渲染结果(详见1)

  • 改变了GLSL渲染模式下的point和point3d的取值,x,y坐标都将转换为0~1范围,point3d的z坐标不做任何转换。
  • 将编辑窗口重命名为“PixelsWorld – Rules Editor”, 编辑面板重命名为“Rule”
  • 将预设区Add按钮分裂成“Add(T)”和“Add(B)”分别用来在当前代码前面添加预设代码和在后面添加预设代码。

Important update, update it carefully.

  • Changed the behavior of point and point3d.
  • Renamed some parameters.
  • Add "Add(T)" and "Add(B)" buttons into editor.

PixelsWorld v1.3

  • 修改了序列号验证系统的方案(解决了以往所有序列号突然失效问题) <注意1> 本次修改会100%导致您更新时序列号失效(打开PixelsWorld后会有“X”水印),打开注册窗口(Register按钮)点激活即可。 <注意2> 若未能激活请以 “PixelsWorld v1.3 序列号更新” 为标题、发送您的序列号到 ZzStarSound@gmail.com
  • 修复了一些BUG
  • Rebuilt the verify system. You need to register again. If failed, contact with us ZzStarSound@gmail.com. If you purchased PixelsWorld after this version, you can ignore this line.
  • Fixed some bug.

PixelsWorld v1.2

  • 改善了Ae CC2020的兼容性问题
  • 修正了预设转换器的实现
  • 修复了一些BUG
  • Fixed some bug in Ae CC 2020
  • Rebuilt the preset manager
  • Fixed some bug.

PixelsWorld v1.1

  • 该版本未公开
  • No v1.1

PixelsWorld v1.0

  • 开天辟地。
  • Set up everything.
       

(本文未经许可禁止转载)

   

发表评论