当前位置: 首页 > wzjs >正文

瑞安市聚齐网络科技有限公司seo技术助理

瑞安市聚齐网络科技有限公司,seo技术助理,生产企业erp系统开发,电子商务及网站建设上一文生成的光照贴图有两个缺点。其一稀疏点需要插值,插值后彩色不均。 其二物体遮挡有黑洞。 如果把入射光起点(视点)放在目标物体附近,然后移动光线,估计会形成一个密集的无黑洞的图像。 在平面上视点游动生成光照贴图 void 平面纹理生成…

上一文生成的光照贴图有两个缺点。其一稀疏点需要插值,插值后彩色不均。
其二物体遮挡有黑洞。
如果把入射光起点(视点)放在目标物体附近,然后移动光线,估计会形成一个密集的无黑洞的图像。
在平面上视点游动生成光照贴图

void 平面纹理生成(vector<Sphere_GLSL> &spheres, std::vector<Triangle_GLSL> &triangles, int Triangle_n0, int Triangle_n1) {double* image = new double[WIDTH * HEIGHT * 4];memset(image, 0.0, sizeof(double) * WIDTH * HEIGHT * 4);MaxMin t0 = 计算MaxMin(triangles, Triangle_n0);MaxMin t1 = 计算MaxMin(triangles, Triangle_n1);float xmax, xmin;float ymax, ymin;float zmax, zmin;xmin = min(t0.xmin, t1.xmin);xmax = max(t0.xmax, t1.xmax);ymin = min(t0.ymin, t1.ymin);ymax = max(t0.ymax, t1.ymax);zmin = min(t0.zmin, t1.zmin);zmax = max(t0.zmax, t1.zmax);string xyz = "xy";if (xmax == xmin)xyz = "yz";else if (ymax == ymin)xyz = "xz";else if (zmax == zmin)xyz = "xy";else {printf("err\n");return;}// 平面的基本参数float w, h, r, imin, imax, jmin, jmax;if (xyz == "xy") {w = xmax - xmin, h = ymax - ymin;r = zmin;imin = ymin, imax = ymax, jmin = xmin, jmax = xmax;}else if (xyz == "yz") {w = ymax - ymin, h = zmax - zmin;r = xmax;imin = zmin, imax = zmax, jmin = ymin, jmax = ymax;}else if (xyz == "xz") {w = xmax - xmin, h = zmax - zmin;r = ymin;jmin = xmin, jmax = xmax;imin = zmin, imax = zmax;}else {printf("err !!!\n");return;}// 参数化的步长float xStep = w / WIDTH;float yStep = h / HEIGHT;std::vector<Ray> Raywh;for (int k = 0; k < SAMPLE; k++){printf("\r%d", k);double* p = image;Raywh.clear();//平面纹理生成//以平面大一圈的位置为起点,向平面垂线的方向为射线//--------------------------------------------// 遍历表面for (float i = imin; i < imax; i += yStep) {for (float j = jmin; j < jmax; j += xStep) {//printf("%.1f\n", j);// 计算面外的点坐标double x = j;double y = i;double z = r + 0.01f;vec3 eye = vec3(x, y, z);vec3 coord = vec3(x, y, r);float 移动 = 0.01f;if (r > 0)移动 = -0.01f;if (xyz == "xy") {x = j, y = i, z = r + 移动;// MSAAx += (randf() - 0.5f) / double(WIDTH);y += (randf() - 0.5f) / double(HEIGHT);eye = vec3(x, y, z);coord = vec3(x, y, r);}else if (xyz == "yz") {x = r + 移动, y = j, z = i;y += (randf() - 0.5f) / double(WIDTH);z += (randf() - 0.5f) / double(HEIGHT);eye = vec3(x, y, z);coord = vec3(r, y, z);}else if (xyz == "xz") {x = j, y = r + 移动, z = i;x += (randf() - 0.5f) / double(WIDTH);z += (randf() - 0.5f) / double(HEIGHT);eye = vec3(x, y, z);coord = vec3(x, r, z);}// 计算光线投射方向vec3 direction = normalize(coord - eye);Ray ray;ray.startPoint = eye;ray.direction = direction;Raywh.push_back(ray);}}//--------------------------------------------std::vector<vec4> color;// 路径追踪pathTracing_GLSL_TSn(Raywh, color);int nc = 0;for (int i = 0; i < HEIGHT; i++){for (int j = 0; j < WIDTH; j++){// 生成光线vec4 color0 = color[nc++];color0 *= BRIGHTNESS;*p += color0.x; p++;  // R 通道*p += color0.y; p++;  // G 通道*p += color0.z; p++;  // B 通道*p += color0.w; p++;  // A 通道}}}//imshow(image);{double* p = image;for (int i = 0; i < HEIGHT; i++){for (int j = 0; j < WIDTH; j++){*p = clamp(pow(*p, 1.0f / 2.2f) * 255, 0.0, 255.0); p++; // R 通道*p = clamp(pow(*p, 1.0f / 2.2f) * 255, 0.0, 255.0); p++; // G 通道*p = clamp(pow(*p, 1.0f / 2.2f) * 255, 0.0, 255.0); p++; // B 通道*p = clamp(pow(*p, 1.0f / 2.2f) * 255, 0.0, 255.0); p++; // A 通道}}}char filename[256];sprintf_s(filename, "triangle0%d%d.png", Triangle_n0, Triangle_n1);imSave(image, WIDTH, HEIGHT, filename);delete image;
}

对比:左边是前面生成的,右边是这次生成的。
 

然后运行代码

球上要怎么处理,还没有想好,以后再写吧。

http://www.dtcms.com/wzjs/151529.html

相关文章:

  • 网页制作与网站建设 在线作业seo搜索排名
  • 镇政府网站平台建设方案百度seo价格
  • 红酒网站建设方案范本北京网站seo招聘
  • wordpress 插件 块上海seo公司哪家好
  • 北海教网站建设百度免费注册
  • 来个可以做渗透的网站最新经济新闻
  • 泰州seo顾问服务seo网站排名
  • 如何提升wordpress的打开速度淄博网站seo
  • 网站认证费怎么做分录火星时代教育培训机构学费多少
  • 网站制作怎么做下拉菜单汽车网络营销策划方案
  • 武汉网站制作公司石家庄seo外包公司
  • 分类网站模板单词优化和整站优化
  • 做海外正品代购的十个网站_百度竞价怎么做
  • 日语网站建设需要注意什么国际新闻最新消息十条摘抄
  • 文字域名可以做网站好的推广方式
  • 福州网站优化公司网站建设公司业务
  • 用div做网站中间部分网络推广公司是干什么
  • 公司注册地址规定网站优化公司
  • 西安网站建设报价seo高级优化技巧
  • 做网站只做前端可以用吗手机网站制作教程
  • 整容医院网站建设目的搜索关键词排名一般按照什么收费
  • 如何用快站做pc端网站软文例文 经典软文范例
  • 用手机做服务器做网站站长工具站长之家
  • 佛山怎么做网站怎么创建网站教程
  • 火锅料网站方案怎么做舆情服务公司
  • 那些平台可以给网站做外链淘宝付费推广有几种方式
  • 福州模板建站定制网站seo sem什么意思
  • 设计网站公司 讲湖南岚鸿查询域名注册信息
  • 网站开发完整项目案例网络营销方案
  • 深圳蚂蚁网络网站建设线上销售的方法和技巧