Palikkatesti linuxiin winidiootteja varten

Pitäisiköhän linuxin asennusohjelmaan pistää alkuun testi jolla testataan asentajan osaamistaso. Testi pitää läpäistä ennen kuin asennus jatkuu. Testi suojelisi kädettömiä winidiootteja kaikelta siltä mielipahalta jonka heidän oma osaamattomuutensa aiheuttaa.
21<50
Äänestä

Muut lukivat myös

Vastaukset 21

Vanhimmat

Näitä idiootteja löytyy esim jimms:in kassalta. Jonossa edessä oleva tyyppi ostaa sieltä 1000 eurolla pc osia. Niillä on illuusio, että hinta korreloi laatua, palava iphone ja galaxy hyviä esimerkki, kuinka uskovaisten käy. Eikä niillä ole mitään käsitystä siitä mitä resursseja mikropiirien valmistus vaatii, ei kukaan huvikseen ala tekemään roskaa vaan kaikin keinoin pyrkii hyvään laatuun. Tästä esimerkkinä menestyneet Mediatek piirisarjat kiinalaispuhelimissa.

Äänestä
  • Millaisen linux pelikoneen itse rakentaisit ja mikä olisi lopullinen hinta?

    Äänestä

  • Idealo.de:n kautta hardwareversandista: amd a8-7600 86 eur, asus 88xm-e 55 eur, 2*4Gb 2100Mhz ddr3 64 eur, Intenso 128GB ssd 55 eur, miditornikotelo 450w 35 eur, nvidia 750ti 130 eur, dvd asema 13 eur, postikulut 7 eur. Hinta noin 450 eur. Jos 30 fps full hd riittää tomb raider 2013 testissä normaaliasetuksilla, niin hinta on 320 eur.

    Äänestä

  • feweeqef kirjoitti:

    Idealo.de:n kautta hardwareversandista: amd a8-7600 86 eur, asus 88xm-e 55 eur, 2*4Gb 2100Mhz ddr3 64 eur, Intenso 128GB ssd 55 eur, miditornikotelo 450w 35 eur, nvidia 750ti 130 eur, dvd asema 13 eur, postikulut 7 eur. Hinta noin 450 eur. Jos 30 fps full hd riittää tomb raider 2013 testissä normaaliasetuksilla, niin hinta on 320 eur.

    "30 fps full hd riittää tomb raider 2013 testissä normaaliasetuksilla"

    Räkäkäkäkäkäkäk ehehehehehehehe

    1080p tai korkeampi, ultra-asetukset ja 60fps on huonoin mihin kannattaa tyytyä.

    Äänestä

  • "1080p tai korkeampi, ultra-asetukset ja 60fps"

    Ekkö nää muuten nää pelata ja pysy pelin mukana;-)

    Mietin nyt kannattaakon maksaa satasia siitä, että näkee ruohon yksityiskohdat ja pävitysanopeus 60fps, koska 25 fps silmän raja-arvo.

    Äänestä

Sitten nämä wintel idiootit väittävät ettei linuxia voi pelialustana kehua. Samaan aikaan pleikkarissa pyörii bsd ja linuksissa kaikki vähänkin pelaamisen arvoiset windows pelit.

https://www.youtube.com/watch?v=YIuOJANnNJo

Äänestä
  • Räkäkäkäkäkäkäk ehehehehehehehe

    Äänestä

  • Ketuttaa varmaan, että xboksissa on amd apu, eikä inteluskovaisten kamaa. Intel prossut on lowend kamaa i7 seiskaa myöten, koomista on että 86 euron A8-7600 on parempi näytönohjain kuin 400 euro i7:ssa. 400 eruolla rakentaa koko pelipc:n.

    Huomaa ettei wintel idiooti seuraa edes tomshardwarea, joten:
    http://www.tomshardware.com/reviews/gaming-cpu-review-overclock,3106-4.html
    "CPUs priced over $240 offer rapidly diminishing returns when it comes to gaming performance
    "

    Äänestä

ei sellaista tehdä yhtä ristin tumputtajaa varten.

Äänestä
  • Sudo apt-get install #include // smallpt, a Path Tracer by Kevin Beason, 2008
    #include // Make : g++ -O3 -fopenmp smallpt.cpp -o smallpt
    #include // Remove "-fopenmp" for g++ version < 4.2
    struct Vec { // Usage: time ./smallpt 5000 && xv image.ppm
    double x, y, z; // position, also color (r,g,b)
    Vec(double x_=0, double y_=0, double z_=0){ x=x_; y=y_; z=z_; }
    Vec operator+(const Vec &b) const { return Vec(x+b.x,y+b.y,z+b.z); }
    Vec operator-(const Vec &b) const { return Vec(x-b.x,y-b.y,z-b.z); }
    Vec operator*(double b) const { return Vec(x*b,y*b,z*b); }
    Vec mult(const Vec &b) const { return Vec(x*b.x,y*b.y,z*b.z); }
    Vec& norm(){ return *this = *this * (1/sqrt(x*x+y*y+z*z)); }
    double dot(const Vec &b) const { return x*b.x+y*b.y+z*b.z; } // cross:
    Vec operator%(Vec&b){return Vec(y*b.z-z*b.y,z*b.x-x*b.z,x*b.y-y*b.x);}
    };
    struct Ray { Vec o, d; Ray(Vec o_, Vec d_) : o(o_), d(d_) {} };
    enum Refl_t { DIFF, SPEC, REFR }; // material types, used in radiance()
    struct Sphere {
    double rad; // radius
    Vec p, e, c; // position, emission, color
    Refl_t refl; // reflection type (DIFFuse, SPECular, REFRactive)
    Sphere(double rad_, Vec p_, Vec e_, Vec c_, Refl_t refl_):
    rad(rad_), p(p_), e(e_), c(c_), refl(refl_) {}
    double intersect(const Ray &r) const { // returns distance, 0 if nohit
    Vec op = p-r.o; // Solve t^2*d.d + 2*t*(o-p).d + (o-p).(o-p)-R^2 = 0
    double t, eps=1e-4, b=op.dot(r.d), det=b*b-op.dot(op)+rad*rad;
    if (det<0) return 0; else det=sqrt(det);
    return (t=b-det)>eps ? t : ((t=b+det)>eps ? t : 0);
    Sphere spheres[] = {//Scene: radius, position, emission, color, material
    Sphere(1e5, Vec( 1e5+1,40.8,81.6), Vec(),Vec(.75,.25,.25),DIFF),//Left
    Sphere(1e5, Vec(-1e5+99,40.8,81.6),Vec(),Vec(.25,.25,.75),DIFF),//Rght
    Sphere(1e5, Vec(50,40.8, 1e5), Vec(),Vec(.75,.75,.75),DIFF),//Back
    Sphere(1e5, Vec(50,40.8,-1e5+170), Vec(),Vec(), DIFF),//Frnt
    Sphere(1e5, Vec(50, 1e5, 81.6), Vec(),Vec(.75,.75,.75),DIFF),//Botm
    Sphere(1e5, Vec(50,-1e5+81.6,81.6),Vec(),Vec(.75,.75,.75),DIFF),//Top
    Sphere(16.5,Vec(27,16.5,47), Vec(),Vec(1,1,1)*.999, SPEC),//Mirr
    Sphere(16.5,Vec(73,16.5,78), Vec(),Vec(1,1,1)*.999, REFR),//Glas
    Sphere(600, Vec(50,681.6-.27,81.6),Vec(12,12,12), Vec(), DIFF) //Lite
    };
    inline double clamp(double x){ return x<0 ? 0 : x>1 ? 1 : x; }
    inline int toInt(double x){ return int(pow(clamp(x),1/2.2)*255+.5); }
    inline bool intersect(const Ray &r, double &t, int &id){
    double n=sizeof(spheres)/sizeof(Sphere), d, inf=t=1e20;
    for(int i=int(n);i--;) if((d=spheres[i].intersect(r))&&dreturn t}
    Vec radiance(const Ray &r, int depth, unsigned short *Xi){
    double t; // distance to intersection
    int id=0; // id of intersected object
    if (!intersect(r, t, id)) return Vec(); // if miss, return black
    const Sphere &obj = spheres[id]; // the hit object
    Vec x=r.o+r.d*t, n=(x-obj.p).norm(), nl=n.dot(r.d)<0?n:n*-1, f=obj.c;
    double p = f.x>f.y && f.x>f.z ? f.x : f.y>f.z ? f.y : f.z; // max refl
    if (++depth>5) if (erand48(Xi)if (obj.refl == DIFF){ // Ideal DIFFUSE reflection
    double r1=2*M_PI*erand48(Xi), r2=erand48(Xi), r2s=sqrt(r2);
    Vec w=nl, u=((fabs(w.x)>.1?Vec(0,1):Vec(1))%w).norm(), v=w%u;
    Vec d = (u*cos(r1)*r2s + v*sin(r1)*r2s + w*sqrt(1-r2)).norm();
    return obj.e + f.mult(radiance(Ray(x,d),depth,Xi));
    } else if (obj.refl == SPEC) // Ideal SPECULAR reflection
    return obj.e + f.mult(radiance(Ray(x,r.d-n*2*n.dot(r.d)),depth,Xi));
    Ray reflRay(x, r.d-n*2*n.dot(r.d)); // Ideal dielectric REFRACTION
    bool into = n.dot(nl)>0; // Ray from outside going in?
    double nc=1, nt=1.5, nnt=into?nc/nt:nt/nc, ddn=r.d.dot(nl), cos2t;
    return obj.e + f.mult(radiance(reflRay,depth,Xi));
    Vec tdir = (r.d*nnt - n*((into?1:-1)*(ddn*nnt+sqrt(cos2t)))).norm();
    double a=nt-nc, b=nt+nc, R0=a*a/(b*b), c = 1-(into?-ddn:tdir.dot(n));
    double Re=R0+(1-R0)*c*c*c*c*c,Tr=1-Re,P=.25+.5*Re,RP=Re/P,TP=Tr/(1-P);
    return obj.e + f.mult(depth>2 ? (erand48(Xi)

    radiance(reflRay,depth,Xi)*RP:radiance(Ray(x,tdir),depth,Xi)*TP) :
    radiance(reflRay,depth,Xi)*Re+radiance(Ray(x,tdir),depth,Xi)*Tr);
    }
    int main(int argc, char *argv[]){
    int w=1024, h=768, samps = argc==2 ? atoi(argv[1])/4 : 1; // # samples
    Ray cam(Vec(50,52,295.6), Vec(0,-0.042612,-1).norm()); // cam pos, dir
    Vec cx=Vec(w*.5135/h), cy=(cx%cam.d).norm()*.5135, r, *c=new Vec[w*h];
    #pragma omp parallel for schedule(dynamic, 1) private(r) // OpenMP
    for (int y=0; yfprintf(stderr,"\rRendering (%d spp) %5.2f%%",samps*4,100.*y/(h-1));
    for (unsigned short x=0, Xi[3]={0,0,y*y*y}; xfor (int sy=0, i=(h-y-1)*w+x; sy<2; sy++) // 2x2 subpixel rows
    for (int sx=0; sx<2; sx++, r=Vec()){ // 2x2 subpixel cols
    for (int s=0; sdouble r1=2*erand48(Xi), dx=r1<1 ? sqrt(r1)-1: 1-sqrt(2-r1);
    double r2=2*erand48(Xi), dy=r2<1 ? sqrt(r2)-1: 1-sqrt(2-r2);
    Vec d = cx*( ( (sx+.5 + dx)/2 + x)/w - .5) +
    cy*( ( (sy+.5 + dy)/2 + y)/h - .5) + cam.d;
    r = r + radiance(Ray(cam.o+d*140,d.norm()),0,Xi

    Äänestä

  • Linuks - maailmankaikkeuden ylivoimaisesti sekavin kurttaus, jolla ei ole mitään todellisuuspohjaa normaalin ihmisen elämässä.......†

    Äänestä

  • Kammottava_kurttaus kirjoitti:

    Linuks - maailmankaikkeuden ylivoimaisesti sekavin kurttaus, jolla ei ole mitään todellisuuspohjaa normaalin ihmisen elämässä.......†

    Ilmankos sinäkin jatkuvasti sekoilet joidenkin ikivanhojen juttujen kanssa , se ei ole normaalia ihmisen toimintaa. .......†

    Äänestä

  • Sekava_linuks kirjoitti:

    Sudo apt-get install #include // smallpt, a Path Tracer by Kevin Beason, 2008
    #include // Make : g++ -O3 -fopenmp smallpt.cpp -o smallpt
    #include // Remove "-fopenmp" for g++ version < 4.2
    struct Vec { // Usage: time ./smallpt 5000 && xv image.ppm
    double x, y, z; // position, also color (r,g,b)
    Vec(double x_=0, double y_=0, double z_=0){ x=x_; y=y_; z=z_; }
    Vec operator+(const Vec &b) const { return Vec(x+b.x,y+b.y,z+b.z); }
    Vec operator-(const Vec &b) const { return Vec(x-b.x,y-b.y,z-b.z); }
    Vec operator*(double b) const { return Vec(x*b,y*b,z*b); }
    Vec mult(const Vec &b) const { return Vec(x*b.x,y*b.y,z*b.z); }
    Vec& norm(){ return *this = *this * (1/sqrt(x*x+y*y+z*z)); }
    double dot(const Vec &b) const { return x*b.x+y*b.y+z*b.z; } // cross:
    Vec operator%(Vec&b){return Vec(y*b.z-z*b.y,z*b.x-x*b.z,x*b.y-y*b.x);}
    };
    struct Ray { Vec o, d; Ray(Vec o_, Vec d_) : o(o_), d(d_) {} };
    enum Refl_t { DIFF, SPEC, REFR }; // material types, used in radiance()
    struct Sphere {
    double rad; // radius
    Vec p, e, c; // position, emission, color
    Refl_t refl; // reflection type (DIFFuse, SPECular, REFRactive)
    Sphere(double rad_, Vec p_, Vec e_, Vec c_, Refl_t refl_):
    rad(rad_), p(p_), e(e_), c(c_), refl(refl_) {}
    double intersect(const Ray &r) const { // returns distance, 0 if nohit
    Vec op = p-r.o; // Solve t^2*d.d + 2*t*(o-p).d + (o-p).(o-p)-R^2 = 0
    double t, eps=1e-4, b=op.dot(r.d), det=b*b-op.dot(op)+rad*rad;
    if (det<0) return 0; else det=sqrt(det);
    return (t=b-det)>eps ? t : ((t=b+det)>eps ? t : 0);
    Sphere spheres[] = {//Scene: radius, position, emission, color, material
    Sphere(1e5, Vec( 1e5+1,40.8,81.6), Vec(),Vec(.75,.25,.25),DIFF),//Left
    Sphere(1e5, Vec(-1e5+99,40.8,81.6),Vec(),Vec(.25,.25,.75),DIFF),//Rght
    Sphere(1e5, Vec(50,40.8, 1e5), Vec(),Vec(.75,.75,.75),DIFF),//Back
    Sphere(1e5, Vec(50,40.8,-1e5+170), Vec(),Vec(), DIFF),//Frnt
    Sphere(1e5, Vec(50, 1e5, 81.6), Vec(),Vec(.75,.75,.75),DIFF),//Botm
    Sphere(1e5, Vec(50,-1e5+81.6,81.6),Vec(),Vec(.75,.75,.75),DIFF),//Top
    Sphere(16.5,Vec(27,16.5,47), Vec(),Vec(1,1,1)*.999, SPEC),//Mirr
    Sphere(16.5,Vec(73,16.5,78), Vec(),Vec(1,1,1)*.999, REFR),//Glas
    Sphere(600, Vec(50,681.6-.27,81.6),Vec(12,12,12), Vec(), DIFF) //Lite
    };
    inline double clamp(double x){ return x<0 ? 0 : x>1 ? 1 : x; }
    inline int toInt(double x){ return int(pow(clamp(x),1/2.2)*255+.5); }
    inline bool intersect(const Ray &r, double &t, int &id){
    double n=sizeof(spheres)/sizeof(Sphere), d, inf=t=1e20;
    for(int i=int(n);i--;) if((d=spheres[i].intersect(r))&&dreturn t}
    Vec radiance(const Ray &r, int depth, unsigned short *Xi){
    double t; // distance to intersection
    int id=0; // id of intersected object
    if (!intersect(r, t, id)) return Vec(); // if miss, return black
    const Sphere &obj = spheres[id]; // the hit object
    Vec x=r.o+r.d*t, n=(x-obj.p).norm(), nl=n.dot(r.d)<0?n:n*-1, f=obj.c;
    double p = f.x>f.y && f.x>f.z ? f.x : f.y>f.z ? f.y : f.z; // max refl
    if (++depth>5) if (erand48(Xi)if (obj.refl == DIFF){ // Ideal DIFFUSE reflection
    double r1=2*M_PI*erand48(Xi), r2=erand48(Xi), r2s=sqrt(r2);
    Vec w=nl, u=((fabs(w.x)>.1?Vec(0,1):Vec(1))%w).norm(), v=w%u;
    Vec d = (u*cos(r1)*r2s + v*sin(r1)*r2s + w*sqrt(1-r2)).norm();
    return obj.e + f.mult(radiance(Ray(x,d),depth,Xi));
    } else if (obj.refl == SPEC) // Ideal SPECULAR reflection
    return obj.e + f.mult(radiance(Ray(x,r.d-n*2*n.dot(r.d)),depth,Xi));
    Ray reflRay(x, r.d-n*2*n.dot(r.d)); // Ideal dielectric REFRACTION
    bool into = n.dot(nl)>0; // Ray from outside going in?
    double nc=1, nt=1.5, nnt=into?nc/nt:nt/nc, ddn=r.d.dot(nl), cos2t;
    return obj.e + f.mult(radiance(reflRay,depth,Xi));
    Vec tdir = (r.d*nnt - n*((into?1:-1)*(ddn*nnt+sqrt(cos2t)))).norm();
    double a=nt-nc, b=nt+nc, R0=a*a/(b*b), c = 1-(into?-ddn:tdir.dot(n));
    double Re=R0+(1-R0)*c*c*c*c*c,Tr=1-Re,P=.25+.5*Re,RP=Re/P,TP=Tr/(1-P);
    return obj.e + f.mult(depth>2 ? (erand48(Xi)

    radiance(reflRay,depth,Xi)*RP:radiance(Ray(x,tdir),depth,Xi)*TP) :
    radiance(reflRay,depth,Xi)*Re+radiance(Ray(x,tdir),depth,Xi)*Tr);
    }
    int main(int argc, char *argv[]){
    int w=1024, h=768, samps = argc==2 ? atoi(argv[1])/4 : 1; // # samples
    Ray cam(Vec(50,52,295.6), Vec(0,-0.042612,-1).norm()); // cam pos, dir
    Vec cx=Vec(w*.5135/h), cy=(cx%cam.d).norm()*.5135, r, *c=new Vec[w*h];
    #pragma omp parallel for schedule(dynamic, 1) private(r) // OpenMP
    for (int y=0; yfprintf(stderr,"\rRendering (%d spp) %5.2f%%",samps*4,100.*y/(h-1));
    for (unsigned short x=0, Xi[3]={0,0,y*y*y}; xfor (int sy=0, i=(h-y-1)*w+x; sy<2; sy++) // 2x2 subpixel rows
    for (int sx=0; sx<2; sx++, r=Vec()){ // 2x2 subpixel cols
    for (int s=0; sdouble r1=2*erand48(Xi), dx=r1<1 ? sqrt(r1)-1: 1-sqrt(2-r1);
    double r2=2*erand48(Xi), dy=r2<1 ? sqrt(r2)-1: 1-sqrt(2-r2);
    Vec d = cx*( ( (sx+.5 + dx)/2 + x)/w - .5) +
    cy*( ( (sy+.5 + dy)/2 + y)/h - .5) + cam.d;
    r = r + radiance(Ray(cam.o+d*140,d.norm()),0,Xi

    smallpt lähdekoodi liittyy Linuxiin?

    Äänestä

  • Sekava_linuks kirjoitti:

    Sudo apt-get install #include // smallpt, a Path Tracer by Kevin Beason, 2008
    #include // Make : g++ -O3 -fopenmp smallpt.cpp -o smallpt
    #include // Remove "-fopenmp" for g++ version < 4.2
    struct Vec { // Usage: time ./smallpt 5000 && xv image.ppm
    double x, y, z; // position, also color (r,g,b)
    Vec(double x_=0, double y_=0, double z_=0){ x=x_; y=y_; z=z_; }
    Vec operator+(const Vec &b) const { return Vec(x+b.x,y+b.y,z+b.z); }
    Vec operator-(const Vec &b) const { return Vec(x-b.x,y-b.y,z-b.z); }
    Vec operator*(double b) const { return Vec(x*b,y*b,z*b); }
    Vec mult(const Vec &b) const { return Vec(x*b.x,y*b.y,z*b.z); }
    Vec& norm(){ return *this = *this * (1/sqrt(x*x+y*y+z*z)); }
    double dot(const Vec &b) const { return x*b.x+y*b.y+z*b.z; } // cross:
    Vec operator%(Vec&b){return Vec(y*b.z-z*b.y,z*b.x-x*b.z,x*b.y-y*b.x);}
    };
    struct Ray { Vec o, d; Ray(Vec o_, Vec d_) : o(o_), d(d_) {} };
    enum Refl_t { DIFF, SPEC, REFR }; // material types, used in radiance()
    struct Sphere {
    double rad; // radius
    Vec p, e, c; // position, emission, color
    Refl_t refl; // reflection type (DIFFuse, SPECular, REFRactive)
    Sphere(double rad_, Vec p_, Vec e_, Vec c_, Refl_t refl_):
    rad(rad_), p(p_), e(e_), c(c_), refl(refl_) {}
    double intersect(const Ray &r) const { // returns distance, 0 if nohit
    Vec op = p-r.o; // Solve t^2*d.d + 2*t*(o-p).d + (o-p).(o-p)-R^2 = 0
    double t, eps=1e-4, b=op.dot(r.d), det=b*b-op.dot(op)+rad*rad;
    if (det<0) return 0; else det=sqrt(det);
    return (t=b-det)>eps ? t : ((t=b+det)>eps ? t : 0);
    Sphere spheres[] = {//Scene: radius, position, emission, color, material
    Sphere(1e5, Vec( 1e5+1,40.8,81.6), Vec(),Vec(.75,.25,.25),DIFF),//Left
    Sphere(1e5, Vec(-1e5+99,40.8,81.6),Vec(),Vec(.25,.25,.75),DIFF),//Rght
    Sphere(1e5, Vec(50,40.8, 1e5), Vec(),Vec(.75,.75,.75),DIFF),//Back
    Sphere(1e5, Vec(50,40.8,-1e5+170), Vec(),Vec(), DIFF),//Frnt
    Sphere(1e5, Vec(50, 1e5, 81.6), Vec(),Vec(.75,.75,.75),DIFF),//Botm
    Sphere(1e5, Vec(50,-1e5+81.6,81.6),Vec(),Vec(.75,.75,.75),DIFF),//Top
    Sphere(16.5,Vec(27,16.5,47), Vec(),Vec(1,1,1)*.999, SPEC),//Mirr
    Sphere(16.5,Vec(73,16.5,78), Vec(),Vec(1,1,1)*.999, REFR),//Glas
    Sphere(600, Vec(50,681.6-.27,81.6),Vec(12,12,12), Vec(), DIFF) //Lite
    };
    inline double clamp(double x){ return x<0 ? 0 : x>1 ? 1 : x; }
    inline int toInt(double x){ return int(pow(clamp(x),1/2.2)*255+.5); }
    inline bool intersect(const Ray &r, double &t, int &id){
    double n=sizeof(spheres)/sizeof(Sphere), d, inf=t=1e20;
    for(int i=int(n);i--;) if((d=spheres[i].intersect(r))&&dreturn t}
    Vec radiance(const Ray &r, int depth, unsigned short *Xi){
    double t; // distance to intersection
    int id=0; // id of intersected object
    if (!intersect(r, t, id)) return Vec(); // if miss, return black
    const Sphere &obj = spheres[id]; // the hit object
    Vec x=r.o+r.d*t, n=(x-obj.p).norm(), nl=n.dot(r.d)<0?n:n*-1, f=obj.c;
    double p = f.x>f.y && f.x>f.z ? f.x : f.y>f.z ? f.y : f.z; // max refl
    if (++depth>5) if (erand48(Xi)if (obj.refl == DIFF){ // Ideal DIFFUSE reflection
    double r1=2*M_PI*erand48(Xi), r2=erand48(Xi), r2s=sqrt(r2);
    Vec w=nl, u=((fabs(w.x)>.1?Vec(0,1):Vec(1))%w).norm(), v=w%u;
    Vec d = (u*cos(r1)*r2s + v*sin(r1)*r2s + w*sqrt(1-r2)).norm();
    return obj.e + f.mult(radiance(Ray(x,d),depth,Xi));
    } else if (obj.refl == SPEC) // Ideal SPECULAR reflection
    return obj.e + f.mult(radiance(Ray(x,r.d-n*2*n.dot(r.d)),depth,Xi));
    Ray reflRay(x, r.d-n*2*n.dot(r.d)); // Ideal dielectric REFRACTION
    bool into = n.dot(nl)>0; // Ray from outside going in?
    double nc=1, nt=1.5, nnt=into?nc/nt:nt/nc, ddn=r.d.dot(nl), cos2t;
    return obj.e + f.mult(radiance(reflRay,depth,Xi));
    Vec tdir = (r.d*nnt - n*((into?1:-1)*(ddn*nnt+sqrt(cos2t)))).norm();
    double a=nt-nc, b=nt+nc, R0=a*a/(b*b), c = 1-(into?-ddn:tdir.dot(n));
    double Re=R0+(1-R0)*c*c*c*c*c,Tr=1-Re,P=.25+.5*Re,RP=Re/P,TP=Tr/(1-P);
    return obj.e + f.mult(depth>2 ? (erand48(Xi)

    radiance(reflRay,depth,Xi)*RP:radiance(Ray(x,tdir),depth,Xi)*TP) :
    radiance(reflRay,depth,Xi)*Re+radiance(Ray(x,tdir),depth,Xi)*Tr);
    }
    int main(int argc, char *argv[]){
    int w=1024, h=768, samps = argc==2 ? atoi(argv[1])/4 : 1; // # samples
    Ray cam(Vec(50,52,295.6), Vec(0,-0.042612,-1).norm()); // cam pos, dir
    Vec cx=Vec(w*.5135/h), cy=(cx%cam.d).norm()*.5135, r, *c=new Vec[w*h];
    #pragma omp parallel for schedule(dynamic, 1) private(r) // OpenMP
    for (int y=0; yfprintf(stderr,"\rRendering (%d spp) %5.2f%%",samps*4,100.*y/(h-1));
    for (unsigned short x=0, Xi[3]={0,0,y*y*y}; xfor (int sy=0, i=(h-y-1)*w+x; sy<2; sy++) // 2x2 subpixel rows
    for (int sx=0; sx<2; sx++, r=Vec()){ // 2x2 subpixel cols
    for (int s=0; sdouble r1=2*erand48(Xi), dx=r1<1 ? sqrt(r1)-1: 1-sqrt(2-r1);
    double r2=2*erand48(Xi), dy=r2<1 ? sqrt(r2)-1: 1-sqrt(2-r2);
    Vec d = cx*( ( (sx+.5 + dx)/2 + x)/w - .5) +
    cy*( ( (sy+.5 + dy)/2 + y)/h - .5) + cam.d;
    r = r + radiance(Ray(cam.o+d*140,d.norm()),0,Xi

    http://www.kevinbeason.com/smallpt/
    mikä tuossa 99 rivin c koodissa on epäselvää? ;-)

    koodinpätkä kuuluu grafiikan ohjelmointiin perehtyneen Kevin Beasonin omiin henk.koht. ohjelmointi-projekteihin:
    http://www.kevinbeason.com/#software

    liittyy GnuLinuxiin siten, että projektit toteutettu ko. alustalla
    http://www.kevinbeason.com/scs/recordMovie/

    Äänestä

Debianin asennuksessa ilmeisesti on jo palikkatesti, sillä kariltahan ei sen asennus onnistunut, johtuen hiukan erilaisesta asennusohjelmasta mihin oli tottunut Mintin ja Ubuntujen kanssa.

Äänestä

Palikkatesti on myös internet, sen sijaan että winteluskovaiset tutkisivat ja kokeilisivat erilaisia tekniikoita, he alistuvat ulkoiselle ohjaukselle ja esim spämmäävät tänne huuhaa website klik tutkimuksia, raamatunpätkiä, turhanpäiväistä c koodia (xcalc toimii ja linuxille on paljon muita graafisia laskimia), eurostoliiton kalleimman pc kaupa hintoja ja henkilökohtaisia loukkauksia.

Sitten winteluskovaiset uskovat sokeasti esim synteettisiä benchmarkkeja.
http://www.geek.com/games/futuremark-confirms-nvidia-is-cheating-in-benchmark-553361/
Samaan aikaan esim kallis i3 prossu häviää selkeästi pelitestissä puolet halvemmalle Amd a8-7600:lle.
http://www.fudzilla.com/images/stories/Reviews/CPUs/AMD/2014/A8-7600/battlefield_4_1920x1080_medium_8gb_2133.jpg

Äänestä

Ei ole mitään syytä miksi witutinvajakit pitäisi ottaa millään tavalla huomioon linuxin kehittämisessä. Jos witutinvajakit eivät kerran osaa niin eivät sitten osaa ja sillä hyvä

Äänestä
  • Itsekin olin vuonna 2009 winvajakki joka meni ostamaan omatekoiseen koneeseen win vistan 100 eurolla. nyttemin selvitin, että kaikki ostamani windows pelit olisi toiminnut jo vuonna 2009 hienosti winen päällä. Ikävää myös että vaimo osti myös omaan koneeseen, 200 euroa taivaan tuulin, unhottamatta 100 eur win98 lisenssistä vuosia aiemmin. Nytten kummakin koneissa on linux ja windowsmuksun koneessa myös.

    Nykyisten ja entisten windowskäyttäjien pitäisi nostaa ryhmäkanne microsoftia vastaan, jos esim tiskikone toimisi parin vuoden päästä siten, että virukset kiusaa, kone on hidastunut ja kaatuilee silloin tällöin, aivan varmasti ihmiset valittaisivat. Mulla saamiset ovat 200 euroa lisenssistä ja turhasta ylläpitotyöstä 20000 euroa.

    Äänestä

Windowsin asennuksessa voisi olla tietotesti tietotekniikasta myös jota ei linux tubuttajat varmaan läpäise koska asentelevat kuulemma viruksia.

Äänestä
  • boottaa kone nopealta usb3 muistikulta esmes debian xfce:een ja käytä viikko, niin huomaat mistä jäät paitsi. Sitten voitkin jyrätä sen precious windowsin kovolta/ssd:ltä kunnolisella käyttöjärjestelmällä.

    Äänestä

  • sdfsdadf kirjoitti:

    boottaa kone nopealta usb3 muistikulta esmes debian xfce:een ja käytä viikko, niin huomaat mistä jäät paitsi. Sitten voitkin jyrätä sen precious windowsin kovolta/ssd:ltä kunnolisella käyttöjärjestelmällä.

    Ei Windowsilla jää mistään paitsi vaan se on juurikin toisinpäin.
    Linux jakeluihin et saa sellaisia kunnollisia ohjelmia mitä windowsiin saa.
    Hyvin moni linuxin käyttäjä yrittää emuloinnin kautta tai virtualboxin kautta saada toimimaan windowsin sovelluksia, se jo kertoo että linux jakelut on puutteellisia.

    Äänestä

Ketjusta on poistettu 1 sääntöjenvastainen viesti.

Kommentoi aloitusta


WinidiootitTestiin kirjoitti:

Pitäisiköhän linuxin asennusohjelmaan pistää alkuun testi jolla testataan asentajan osaamistaso. Testi pitää läpäistä ennen kuin asennus jatkuu. Testi suojelisi kädettömiä winidiootteja kaikelta siltä mielipahalta jonka heidän oma osaamattomuutensa aiheuttaa.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu