PC:TNND老子都给你们游戏机拖累死了

  • 鸡蛋灌饼
    想被打脸是不?
    显存内存分开的架构就是主存带宽不足又不能搞Quad Channel等火星科技所以干脆分出一部分专做图形处理的结果
    按你的低效理论那NUMA架构的超级计算机都去死好了
  • o
    oz01
    我要求不高,谁来说说下面这段程序拿啥来编译就行了
    1. #version 150
    2. uniform ivec2 LightNums;
    3. uniform sampler2D DiffuseTex;
    4. uniform float DiffuseTexTurnY;
    5. uniform vec4 OmniLight_Pos[8];
    6. uniform vec4 OmniLight_Color[8];
    7. uniform vec4 Material[3];
    8. #define Material_diffuse Material[0]
    9. #define Material_specular Material[1]
    10. #define Material_ambient Material[2].xyz
    11. #define Material_shininess Material[2].w
    12. in vec4 VertexEyeDir;
    13. in vec3 Normal;
    14. in vec2 TexCoord0;
    15. in vec4 Color;
    16. vec2 OmniLight(vec4 LightPosEyeIn)
    17. {
    18. vec3 Nor=normalize(Normal);
    19. vec3 LightDir = normalize( LightPosEyeIn.xyz - VertexEyeDir.xyz );
    20. float NdotL = dot(Nor,LightDir);
    21. float specular = 0.0;
    22. vec3 HightLight =normalize( LightDir - normalize(VertexEyeDir.xyz));
    23. specular = pow(max(dot(Nor, HightLight), 0.0), Material_shininess);
    24. NdotL = max(0.0,NdotL);
    25. return vec2(NdotL,specular);
    26. }
    27. vec2 SpotLight(vec4 LightPosEyeIn,vec3 LightTGTPosEyeIn,float spotCosCutoff,float spotExponent)
    28. {
    29. vec3 Nor=normalize(Normal);
    30. vec3 LightDir = normalize( LightPosEyeIn.xyz - VertexEyeDir.xyz );
    31. float NdotL = dot(Nor,LightDir);
    32. float specular = 0.0;
    33. float spotEffect = dot(normalize(LightTGTPosEyeIn),-LightDir);
    34. if(spotEffect > spotCosCutoff)
    35. {
    36. spotEffect = pow(spotEffect,spotExponent);
    37. vec3 HightLight =normalize( LightDir - normalize(VertexEyeDir.xyz));
    38. specular = pow(max(dot(Nor, HightLight), 0.0), gl_FrontMaterial.shininess);
    39. NdotL = max(0.0,NdotL);
    40. NdotL = NdotL*spotEffect;
    41. specular = specular*spotEffect;
    42. }
    43. else
    44. {
    45. NdotL = 0.0;
    46. }
    47. return vec2(NdotL,specular);
    48. }
    49. void main()
    50. {
    51. vec4 DiffuseTexColor = texture2D(DiffuseTex, TexCoord0.xy);
    52. vec2 LightVal=vec2(0.0,0.0);
    53. vec4 AmbientColor=vec4(0.0,0.0,0.0,0.0);
    54. vec4 DiffuseColor=vec4(0.0,0.0,0.0,0.0);
    55. vec4 SpecularColor=vec4(0.0,0.0,0.0,0.0);
    56. for(int i=0;i<8;i++)
    57. {
    58. if(i<LightNums.x)
    59. {
    60. LightVal=OmniLight (OmniLight_Pos[i]);
    61. }
    62. AmbientColor += gl_FrontLightProduct[i].ambient;
    63. DiffuseColor += LightVal.x * gl_FrontLightProduct[i].diffuse ;
    64. SpecularColor += LightVal.y * gl_FrontLightProduct[i].specular ;
    65. }
    66. gl_FragColor = DiffuseTexColor * (AmbientColor + gl_FrontLightModelProduct.sceneColor + DiffuseColor)*Color +SpecularColor ;
    67. gl_FragColor.w=DiffuseTexColor.w;
    68. //gl_FragColor+=SpecularColor;
    69. //gl_FragColor.xyz=Normal;
    70. //gl_FragColor = DiffuseTexColor;
    71. return;
    72. }
    复制代码
  • M
    Macs
    还不是PC不赚钱
  • 鸡蛋灌饼
    如果你认为家园3(如果有)只需要家园1的效果那我也无话可说不纯引
  • e
    eva2000as
    LOOK,STEAM!
    好吧,赚钱的办法是人想出来的。干脆做开放式平台和引擎靠后续服务(硕大的“DLC”三个字包括在内)不也是生存之道么?
    靠卖光盘讨生活的年代的确也快到头了……
    至于盗版和反盗版……都是好萊塢大片而已。
  • 鸡蛋灌饼
    关键问题是如果只针对PC的话就相当于放弃了所有Console用户
    WoW可以这么玩因为标配没有键盘的Console遇上MMORPG战斗力只有5
    其他的就很麻烦了

    另外51楼是GLSL,由OpenGL实现在运行时编译
  • o
    oz01
    你就没感觉这段代码有明显问题么
  • C
    Corruptwing
    對於RTS畫面黨來說能玩的只有PC......
  • リン=マオ
    那不一样,没我就会造成垄断,没了游戏机,PC照样买杂牌组装。
  • o
    oz01
    最高指挥官不是算在横扫千军系列内的?
  • r
    roadcross
    赌全部积分/好人卡/RP,不能在N卡上编译通过
  • e
    eva2000as
    开发组换牌子了,版权啥的自然没直接联系。你要说故事情节的话我也没办法=_,=总的来说应该当成一家人分前后期来看。不过不能算一个系列就是了,毕竟综合改动很大。
    不过至少游戏整体感觉上一脉相承是没错的。基本上可以这么说,《横扫千军》《最高指挥官》给人以“玩”RTS的感觉,《SC》和《WAR3》感觉更像是玩DDR之类的音乐节奏打击游戏……
  • o
    oz01
    我以为就是同一个系列的,全特效让当时的下2代硬件吃瘪的特性也一样
  • e
    eva2000as
    但你不用全特效的话同代最低照样流畅的跑……这就是人家的“人性化”和引擎的强力啊。
    而且即使不用全特效画面依旧非常入眼。
  • 昔日之影
    当然最高指挥官的概念是继承TA的……不过1代那个渣到极点的优化……到现在我都无法理解我高特效能跑满速的1和2,却死活跑不动资料盘FA
  • 鸡蛋灌饼
    我这里编译都过了……
    运行结果是不是你想要的我先不管
  • o
    oz01
    资料盘FA不是对硬件要求下降了么?
  • B
    Baelnorn
    看怎么说了
    99年左右的alpha centauri我02年的PC才能勉强跑后期不至于卡死,但是还要改cfg否则游戏不认这么快的u
    01年的闪点我也是4年之后才无负担全高开玩一玩大战场 那时我的机器是2Gram配3200+配6800u
    03年的Lock on MAC 04年的IL2:Pacific fighter到现在配的机器才能泪流满面的全开流畅
    至于现在的瓶颈才不是什么crysis,我想流畅的肆无忌惮的玩Arma2和太阳帝国原罪的pc估计也要几年后了
  • o
    oz01
    前面有人一眼就看出来问题了
    glsl1.50不允许使用opengl关键字,gl_FrontMaterial.shininess之类的都必须手动传uniform
    N卡编译的时候直接给error,A卡直接转为兼容模式
  • 昔日之影
    太阳帝国的原罪不是配置不高么?下降?我觉得上升了,双核补丁也完全没效果
  • B
    Baelnorn
    那东西就和全战一样……开高了千军万马才有气势
  • e
    eva2000as
    我这里没压力……不过听说控制台调一下的话能解决很多问题。
    最指2的关键是对经典的资源系统的重制,但又没弄好。加上建造协同的处理一塌糊涂、过于突出终级武器,所以很多人不喜欢2。
    不过话说回来,TA、最指什么的后续还是要靠MOD啊。5、6个不同种族大家1000单位超巨地图一起绞啊绞啊绞啊绞才符合“Total Annihilation”的理念嘛~~SC2这种100人口以下定输赢的太不给力了。
  • t
    torrey
    神马时候内存跟显存能直接交换数据了?

    360的设计是让L2缓存跟显存的带宽设计有个20几G
    但是现在DDR3内存普及的年代,随便开个1600的内存双通道,带宽也有20几G了,
    所以说即使主机有优势随着技术的进步也已经落伍了
    再说带宽真让你感觉有那么重要么?你觉得双通道跟单通道差了多少么?一般用用也很难察觉吧
    带宽未必见得是最瓶颈的地方
    反而是360跟PS3的显示芯片都已经老的不行了,无论是频率还是显存容量,还有那个可怜的内存容量

    话说想想PS3看优酷死机就让我汗颜~~
    设计之初的想法总归会受到硬件发展的限制,360都出了5年了,现在的PC再秒不掉360,那PC可以去跳河死了

    叫我说现在应该是推出新主机的时候了,认清自己,不能让PC随便乱艹
    但是现在的游戏开发周期决定了主机的寿命并不会几年就过期,这是最尴尬的地方
  • 昔日之影
    求控制台详解
  • r
    roadcross
    你感觉为什么很多游戏引擎都限制每个顶点绑定4个骨骼,多绑定几个骨骼也不过多计算几次权重多几次响亮*矩阵
  • 点男
    对于游戏厂商来讲

    机能再高有个鸟用, 软件连个P都卖不出去
  • e
    eva2000as
  • l
    libindi
    说的没错啊,孤岛玩了一周后确实觉得其他游戏画面落后一个时代(以战争机器,生化奇兵为例),玩武装突袭,全面战争,潜行者时也觉得领先一个时代,这些游戏玩的时间稍微长点就要重新适应其他游戏的画面,不过主机平台太好赚了,感觉现在欧美厂商在走日厂的老路子。
  • 无念
    平台统一是游戏机的优势,可是现在的科技速度2年就能让它成为劣势。更别提5年了……优化才是真正的问题,对于PC来说。另外带宽兄,你最好看过几个PC引擎和游戏机引擎再鼓吹延迟问题
  • o
    oz01
    看paper还是看源代码?
  • o
    ov_efly
    应该说有的是优化问题
    主机一般是闷头压榨
    PC开发商少有这么压的
    当然也可以理解
    毕竟PC平台太杂了
    不仅是硬件杂
    软件兼容也杂
  • o
    oz01
    显卡每年都在更新换代,技术上就从DX9坑到了DX11
    画面你还能指望有多少进步?
  • o
    oz01
    DX9-〉DX10主要是增加4个FBO挂载点,以及最终要的几何着色单元,几何着色单元的目的是曲面细分/毛发/模型物力效果之类的东西,很可惜最终证明这个几何着色单元纯粹坑跌,慢得要死,最后没几个游戏怎么用过。
    DX11那就是彻底坑跌了,DX11主打曲面镶嵌,这东西可以极大的方便实现很多以前做起来超麻烦的技术,然后,然后就没了