1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Floodatorium

Discussion dans 'Discussions diverses' créé par Endy, 27 Mai 2012.

  1. pheonixio

    pheonixio Mineur de Diamants

    Inscrit:
    21 Oct 2013
    Messages:
    2 401
    Points:
    195
    J'ai l'impression que t'as pas compris le second degrès ultra présent dans mes précedent propos :3.
     
  2. Etheya

    Etheya Avant j'étais chiant, maintenant je le suis encore
    Membre Premium

    Inscrit:
    2 Fev 2015
    Messages:
    2 719
    Points:
    185
    Sexe:
    Homme
    Bien sur que si, mais répondons au second degré par le second degré !
     
  3. Nolan-XX

    Nolan-XX Modérateur
    Staff

    Inscrit:
    29 Déc 2012
    Messages:
    10 234
    Points:
    304
    Sexe:
    Homme
    Bon, bac blanc dans moins de 3h. Diantre.
     
  4. Ez'

    Ez' Administrateur
    Staff

    Inscrit:
    3 Fev 2011
    Messages:
    2 556
    Points:
    205
    Sexe:
    Homme
    Bon courage !
     
  5. Nolan-XX

    Nolan-XX Modérateur
    Staff

    Inscrit:
    29 Déc 2012
    Messages:
    10 234
    Points:
    304
    Sexe:
    Homme
    Merci !




    Peut-être aurais-je du réviser
     
  6. Dracoctix

    Dracoctix Rédacteur en Chef
    Staff

    Inscrit:
    15 Mai 2013
    Messages:
    5 257
    Points:
    239
    Sexe:
    Homme
    Pense à ma composition d'histoire dans une demi-heure :'(Le tout pour deux heures et demie :'(pi vendredi, oraux blancs de Français (Ô joie) et mardi de la semaine prochaine: bac blanc de sciences, puis le jeudi: bac blanc de français. Qui dit mieux? #Suicide
     
  7. pheonixio

    pheonixio Mineur de Diamants

    Inscrit:
    21 Oct 2013
    Messages:
    2 401
    Points:
    195
    Tien ben vus que ça parle de note sachez que je me suis fait défoncé par les appréciation de mes profs X').
    [​IMG]
     
    • J'aime J'aime x 1
  8. Dracoctix

    Dracoctix Rédacteur en Chef
    Staff

    Inscrit:
    15 Mai 2013
    Messages:
    5 257
    Points:
    239
    Sexe:
    Homme
    • Informatif Informatif x 1
  9. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 595
    Points:
    229
    Ce qui est bien avec le collège c'est qu'on change jamais notre façon ou temps de travail par contre les notes et les appréciations fluctuent x)
     
    • J'approuve J'approuve x 1
  10. pheonixio

    pheonixio Mineur de Diamants

    Inscrit:
    21 Oct 2013
    Messages:
    2 401
    Points:
    195
    Si tu entend par la que premier et deuxième trimestre j'ai rien glander sache que tu as raison X'). Je m'investirais réellement en 3ème a ce moment la sa seras utile :3.
     
    • Informatif Informatif x 1
  11. Avalon

    Avalon Mineur

    Inscrit:
    10 Août 2014
    Messages:
    396
    Points:
    64
    Sexe:
    Homme
    Bon courage les gars. Je viens de rentrer chez moi pour une vilaine grippe. L'infirmière a été sympa elle m'a fait sauté mon dst de maths :D

    À ce que je vois je ne suis pas le seul à dormir en classe x)
     
    • J'aime J'aime x 1
  12. Kayase

    Kayase Furie Nocturne

    Inscrit:
    27 Mar 2014
    Messages:
    6 892
    Points:
    239
    Sexe:
    Femme
    tiens , j'essayerais de prendre une photo de mon bulletin , ce midi j'ai pas le temps .
     
  13. Encestral Z

    Encestral Z Résident de l'End

    Inscrit:
    13 Jan 2012
    Messages:
    5 186
    Points:
    199
    Sexe:
    Homme
    Y'a les gens qui sont en cours, et puis y'a moi... :(
     
    • Informatif Informatif x 1
  14. Avalon

    Avalon Mineur

    Inscrit:
    10 Août 2014
    Messages:
    396
    Points:
    64
    Sexe:
    Homme
    À tout hasard est-ce que quelqu'un connait le glsl et saurait me dire où est mon problème dans mon code de water reflection. Ça fait une heure que je me prend la tête la dessus et ça m'énerve :
    composite1.fsh :

    Code (cpp):
    /*MODIFIABLE*/

    #version 120

    /*
    This shaderpack was made by Avalon.
    Don't plagiarize this pack.
    Place two leading Slashes in front of the following '#define' lines in order to disable an option. (It can provoke some bugs and I don't recommend to do this)

    How to make your own lagless configuration (performance impact) :
    - God Rays : low
    - Water Reflections : medium
    - Specularity : low
    */

                           
    ////SHADER MODIFICATION

    #define WATER_REFLECTIONS

    #define SPECULARITY

    #define GODRAYS
    #ifdef GODRAYS
        const float exposure = 1.2;
        const float density = 0.25;          
        const float grsample = 5.0;          
        const float grnoise = 0.00;
    #endif  
       
    ////END

    const int maxf = 4;
    const int Gmaxf = 4;

    const float stp = 1.0;
    const float ref = 0.1;
    const float inc = 2.0;
    const float Gstp = 1.0;
    const float Gref = 0.1;
    const float Ginc = 2.4;

    varying vec4 texcoord;
    varying vec3 sunlight;
    varying vec3 lightVector;
    varying vec3 ambient_color;
    varying vec3 sunVec;
    varying vec3 upVec;
    varying float SdotU;
    varying float sunVisibility;

    uniform sampler2D composite;
    uniform sampler2D gaux4;
    uniform sampler2D gaux1;
    uniform sampler2D gaux3;
    uniform sampler2D depthtex0;
    uniform sampler2D depthtex1;
    uniform sampler2D gnormal;
    uniform sampler2D gdepth;
    uniform vec3 sunPosition;
    uniform vec3 moonPosition;
    uniform vec3 upPosition;
    uniform vec3 cameraPosition;
    uniform vec3 skyColor;
    uniform mat4 gbufferProjection;
    uniform mat4 gbufferProjectionInverse;
    uniform mat4 gbufferModelViewInverse;
    uniform int isEyeInWater;
    uniform int worldTime;
    uniform int fogMode;
    uniform float far;
    uniform float near;
    uniform float aspectRatio;
    uniform float viewWidth;
    uniform float viewHeight;
    uniform float rainStrength;
    uniform float wetness;
    uniform float frameTimeCounter;

    float pw = 1.0/ viewWidth;
    float ph = 1.0/ viewHeight;

    float matflag = texture2D(gaux1,texcoord.xy).g;

    vec3 fogclr = mix(gl_Fog.color.rgb,vec3(0.2,0.2,0.2),rainStrength)*ambient_color;
       
    vec3 fragpos = vec3(texcoord.st, texture2D(depthtex0, texcoord.st).r);
    vec3 normal = texture2D(gnormal, texcoord.st).rgb * 2.0 - 1.0;
       
    float sky_lightmap = texture2D(gaux1,texcoord.xy).r;
       
    float iswet = wetness*pow(sky_lightmap,5.0)*sqrt(0.5+max(dot(normal,normalize(upPosition)),0.0));
    vec3 specular = texture2D(gaux3,texcoord.xy).rgb;
    float specmap = specular.r*(1.4-specular.b*1.4)+specular.g*iswet+specular.b*0.85;
    vec4 color = texture2D(composite,texcoord.xy);

    vec3 torchcolor = vec3(0.89,0.55,0.2);      
    const float speed = 1.5;
    float light_jitter = 1.0-sin(frameTimeCounter*1.4*speed+cos(frameTimeCounter*1.9*speed))*0.025;
    float torch_lightmap = pow(texture2D(gaux1,texcoord.xy).b*light_jitter,5.0)*2.6;

    float ld(float depth) {
        return (2.0 * near) / (far + near - depth * (far - near));
    }

    vec3 nvec3(vec4 pos) {
        return pos.xyz/pos.w;
    }

    vec4 nvec4(vec3 pos) {
        return vec4(pos.xyz, 1.0);
    }

    float cdist(vec2 coord) {
        return max(abs(coord.x-0.5),abs(coord.y-0.5))*2.0;
    }

    float luma(vec3 color) {
        return dot(color.rgb,vec3(0.299, 0.587, 0.114));
    }

    #ifdef WATER_REFLECTIONS
        vec3 calcFog(vec3 fposition, vec3 color, vec3 fogclr) {
            const float density = 2000.0;
            const float start = 0.02;
            float rainFog = 1.0+4.0*rainStrength;
            float fog = min(exp(-length(fposition)/density/(sunVisibility*0.7+0.3)*rainFog)+start*sunVisibility*(1-rainStrength),1.0);
            vec3 fc = fogclr*1.5;
            return mix(fc,color,fog);
        }

        vec4 raytrace(vec3 fragpos, vec3 normal,vec3 fogclr) {
            vec4 color = vec4(0.0);
            vec3 start = fragpos;
            vec3 rvector = normalize(reflect(normalize(fragpos), normalize(normal)));
            vec3 vector = stp * rvector;
            vec3 oldpos = fragpos;
            fragpos += vector;
            vec3 tvector = vector;
            int sr = 0;
            for(int i=0;i<40;i++){
                vec3 pos = nvec3(gbufferProjection * nvec4(fragpos)) * 0.5 + 0.5;
                if(pos.x < 0 || pos.x > 1 || pos.y < 0 || pos.y > 1 || pos.z < 0 || pos.z > 1.0) break;
                vec3 spos = vec3(pos.st, texture2D(depthtex1, pos.st).r);
                spos = nvec3(gbufferProjectionInverse * nvec4(spos * 2.0 - 1.0));
                float err = abs(fragpos.z-spos.z);
                if(err < pow(length(vector)*1.85,1.15)){
                    sr++;
                    if(sr >= maxf){
                        float border = clamp(1.0 - pow(cdist(pos.st), 20.0), 0.0, 1.0);
                        color = texture2DLod(composite, pos.st,0);
                        float land = texture2D(gaux1, pos.st).g;
                        land = float(land < 0.03);
                        spos.z = mix(fragpos.z,2000.0*(0.4+sunVisibility*0.6),land);
                        color.rgb = calcFog(spos,pow(color.rgb,vec3(2.2)),fogclr);
                        color.a = 1.0;
                        color.a *= border;
                        break;
                    }
                    tvector -=vector;
                    vector *=ref;    
                }
                vector *= inc;
                oldpos = fragpos;
                tvector += vector;
                fragpos = start + tvector;
            }
            return color;
        }
    #endif

    #ifdef SPECULARITY
        vec4 raytraceGround(vec3 fragpos, vec3 normal) {
            vec4 color = vec4(0.0);
            vec3 start = fragpos;
            vec3 rvector = normalize(reflect(normalize(fragpos), normalize(normal)));
            vec3 vector = Gstp * rvector;
            vec3 oldpos = fragpos;
            fragpos += vector;
            vec3 tvector = vector;
            int sr = 0;
            for(int i=0;i<30;i++){
                vec3 pos = nvec3(gbufferProjection * nvec4(fragpos)) * 0.5 + 0.5;
                if(pos.x < 0 || pos.x > 1 || pos.y < 0 || pos.y > 1 || pos.z < 0 || pos.z > 1.0) break;
                vec3 spos = vec3(pos.st, texture2D(depthtex1, pos.st).r);
                spos = nvec3(gbufferProjectionInverse * nvec4(spos * 2.0 - 1.0));
                float err = distance(fragpos.xyz,spos.xyz);
                if(err < pow(length(vector)*pow(length(tvector),0.11),1.1)*1.1){
                    sr++;
                    if(sr >= Gmaxf){
                        float border = clamp(1.0 - pow(cdist(pos.st), 5.0), 0.0, 1.0);
                        color = texture2D(composite, pos.st);
                        color.a = 1.0;
                        color.a *= border;
                        break;
                    }
                    tvector -=vector;
                    vector *=Gref;
                }
                vector *= Ginc;
                oldpos = fragpos;
                tvector += vector;
                fragpos = start + tvector;
            }
        return color;
        }
    #endif

    float getnoise(vec2 pos) {
        return abs(fract(sin(dot(pos ,vec2(18.9898f,28.633f))) * 4378.5453f));
    }

    void main() {
        int land = int(matflag < 0.03);
        int iswater = int(matflag > 0.04 && matflag < 0.07);
        int hand  = int(matflag > 0.75 && matflag < 0.85);
       
        fragpos = nvec3(gbufferProjectionInverse * nvec4(fragpos * 2.0 - 1.0));

        float fresnel_pow = mix(pow(1.0-(specular.b+specular.g)/2.0,1.25+iswet*0.75)*3.5,3.0,iswater);
        float normalDotEye = dot(normal, normalize(fragpos));
        float fresnel = clamp(pow(1.0 + normalDotEye, fresnel_pow),0.0,1.0);
           
        vec4 reflection;
           
    #ifdef WATER_REFLECTIONS
        if (iswater > 0.9) {
            reflection = raytrace(fragpos, normal);  
            float normalDotEye = dot(normal, normalize(fragpos));
            float fresnel = clamp(pow(1.0 + normalDotEye, 5.0),0.0,1.0);
            reflection.rgb = mix(gl_Fog.color.rgb, reflection.rgb, reflection.a);
            reflection.a = min(reflection.a + 0.75*sky_lightmap,1.0);
            color.rgb = mix(color.rgb,reflection.rgb , fresnel * (1.0-isEyeInWater*0.8) * 1.0*reflection.a);
            color.rgb += color.a*pow(sunlight,vec3(1.0/2.2))*(1.0-rainStrength)*1.7;
        }
    #endif
       
    #ifdef SPECULARITY
        if (specmap*fresnel > 0.01) {
            reflection = raytraceGround(fragpos, normal);
            normalDotEye = dot(normal, normalize(fragpos));
            fresnel = clamp(pow(1.0 + normalDotEye, fresnel_pow),0.0,1.0);
            reflection.rgb = mix(gl_Fog.color.rgb, reflection.rgb, reflection.a);
            reflection.a = min(reflection.a + 0.75*sky_lightmap,1.0);
            color.rgb += reflection.rgb * mix(vec3(1.0/sqrt(3.0)),normalize(color.rgb),specular.b*0.5+0.05) * (specmap+iswater)*fresnel*(1.0-isEyeInWater*0.8)*reflection.a;
            color.rgb += color.a*pow(sunlight,vec3(1.0/2.2))*(1.0-rainStrength)*1.7;
        }  
    #endif

        color.rgb += fresnel*torchcolor*torch_lightmap*specmap;
       
        vec3 colmult = mix(vec3(1.0),vec3(0.1,0.25,0.45),isEyeInWater);
        float depth_diff = clamp(pow(ld(texture2D(depthtex0, texcoord.st).r)*3.4,2.0),0.0,1.0);
        color.rgb = mix(color.rgb*colmult,vec3(0.05,0.1,0.15),depth_diff*isEyeInWater);
       
        float time = float(worldTime);
        float transition_fading = 1.0-(clamp((time-12000.0)/300.0,0.0,1.0)-clamp((time-13000.0)/300.0,0.0,1.0) + clamp((time-22800.0)/200.0,0.0,1.0)-clamp((time-23400.0)/200.0,0.0,1.0));  
        float fog = clamp(exp(-length(fragpos)/128.0*(3.0+rainStrength)/1.4)+0.25*(1.0-rainStrength),0.0,1.0);

        float volumetric_cone = max(dot(normalize(fragpos),lightVector),0.0)*transition_fading;
        float fogfactor =  clamp(fog + hand + isEyeInWater,0.0,1.0);
        fogclr = mix(fogclr,color.rgb,(1.0-rainStrength));
        color.rgb = mix(fogclr,color.rgb,fogfactor);
               
    /* DRAWBUFFERS:5 */

        vec4 tpos = vec4(sunPosition,1.0)*gbufferProjection;
        tpos = vec4(tpos.xyz/tpos.w,1.0);
        vec2 pos1 = tpos.xy/tpos.z;
        vec2 lightPos = pos1*0.5+0.5;

    #ifdef GODRAYS
        float truepos = pow(clamp(dot(-lightVector,tpos.xyz)/length(tpos.xyz),0.0,1.0),0.25);
        if (truepos > 0.05) {
            vec2 deltaTextCoord = vec2( texcoord.st - lightPos.xy );
            vec2 textCoord = texcoord.st;
            deltaTextCoord *= 1.0 /  float(grsample) * density;
            float illuminationDecay = 1.0;
            vec2 noise = vec2(getnoise(textCoord),getnoise(-textCoord.yx+0.05));
            float gr = 0.0;
            float avgdecay = 0.0;
            float distx = abs(texcoord.x*aspectRatio-lightPos.x*aspectRatio);
            float disty = abs(texcoord.y-lightPos.y);
            illuminationDecay = pow(max(1.0-sqrt(distx*distx+disty*disty),0.0),3.0);
            for(int i=0; i < grsample ; i++) {  
                textCoord -= deltaTextCoord;
               
                float sample = texture2D(gdepth, textCoord + noise*grnoise).r;
                gr += sample;
            }
            color.rgb = mix(color.rgb,pow(sunlight,vec3(1.0/4.0)),(gr/grsample)*exposure*length(pow(sunlight,vec3(1.0/2.2)))*(1.0 - rainStrength*0.85)*illuminationDecay*truepos/sqrt(3.0)*transition_fading);
        }
    #endif
       
        float visiblesun = 0.0;
        float temp;
        int nb = 0;

        if (texcoord.x < pw && texcoord.x < ph) {
            for (int i = 0; i < 10;i++) {
                for (int j = 0; j < 10 ;j++) {
                    temp = texture2D(gaux1,lightPos + vec2(pw*(i-5.0)*10.0,ph*(j-5.0)*10.0)).g;
                    visiblesun +=  1.0-float(temp > 0.04) ;
                    nb += 1;
                }
            }
            visiblesun /= nb;
        }
       
        color = clamp(color,0.0,1.0);
       
        gl_FragData[0] = vec4(color.rgb,visiblesun);
    }
     

    composite1.vsh :

    Code (cpp):
    #version 120

    /*
    This shaderpack was made by Avalon.
    Don't plagiarize this pack.
    Place two leading Slashes in front of the following '#define' lines in order to disable an option. (It can provoke some bugs and I don't recommend to do this)
    */


    varying vec4 texcoord;
    varying vec3 sunlight;
    varying vec3 lightVector;
    varying vec3 ambient_color;
    varying vec3 sunVec;
    varying vec3 upVec;
    varying float SdotU;
    varying float sunVisibility;

    uniform int worldTime;
    uniform float rainStrength;
    uniform vec3 sunPosition;
    uniform vec3 moonPosition;
    uniform vec3 upPosition;

    const ivec4 ToD[25] = ivec4[25](ivec4(0,10,15,30),
                     ivec4(1,10,15,30),
                     ivec4(2,10,15,30),
                     ivec4(3,10,15,30),
                     ivec4(4,10,15,30),
                     ivec4(5,10,15,30),
                     ivec4(6,255,190,70),
                     ivec4(7,255,195,80),
                     ivec4(8,255,200,97),
                     ivec4(9,255,200,110),
                     ivec4(10,255,205,125),
                     ivec4(11,255,215,140),
                     ivec4(12,255,215,140),
                     ivec4(13,255,215,140),
                     ivec4(14,255,205,125),
                     ivec4(15,255,200,110),
                     ivec4(16,255,200,97),
                     ivec4(17,255,195,80),
                     ivec4(18,255,190,70),
                     ivec4(19,77,67,194),
                     ivec4(20,10,15,30),
                     ivec4(21,10,15,30),
                     ivec4(22,10,15,30),
                     ivec4(23,10,15,30),
                     ivec4(24,10,15,30));

    const ivec4 ToD2[25] = ivec4[25](ivec4(0,10,20,45),
                      ivec4(1,10,20,45),
                      ivec4(2,10,20,45),
                      ivec4(3,10,20,45),
                      ivec4(4,10,20,45),
                      ivec4(5,60,120,180),
                      ivec4(6,160,200,255),
                      ivec4(7,160,205,255),
                      ivec4(8,160,210,260),
                      ivec4(9,165,220,270),
                      ivec4(10,190,235,280),
                      ivec4(11,205,250,290),
                      ivec4(12,220,250,300),
                      ivec4(13,205,250,290),
                      ivec4(14,190,235,280),
                      ivec4(15,165,220,270),
                      ivec4(16,150,210,260),
                      ivec4(17,140,200,255),
                      ivec4(18,120,140,220),
                      ivec4(19,50,55,110),
                      ivec4(20,10,20,45),
                      ivec4(21,10,20,45),
                      ivec4(22,10,20,45),
                      ivec4(23,10,20,45),
                      ivec4(24,10,20,45));

    void main() {
     
       if (worldTime < 12700 || worldTime > 23250) {
         lightVector = normalize(sunPosition);
       } else {
         lightVector = normalize(moonPosition);
       }
     
       gl_Position = ftransform();
     
       texcoord = gl_MultiTexCoord0;

       sunVec = normalize(sunPosition);
       upVec = normalize(upPosition);
       SdotU = dot(sunVec,upVec);
       sunVisibility = pow(clamp(SdotU+0.1,0.0,0.1)/0.1,2.0);
     
       float hour = worldTime/1000.0+6.0;
       if (hour > 24.0) hour = hour - 24.0;
               
       ivec4 temp = ToD[int(floor(hour))];
       ivec4 temp2 = ToD[int(floor(hour)) + 1];
     
       sunlight = mix(vec3(temp.yzw),vec3(temp2.yzw),(hour-float(temp.x))/float(temp2.x-temp.x))/255.0f;

       ivec4 tempa = ToD2[int(floor(hour))];
       ivec4 tempa2 = ToD2[int(floor(hour)) + 1];
     
       ambient_color = mix(vec3(tempa.yzw),vec3(tempa2.yzw),(hour-float(tempa.x))/float(tempa2.x-tempa.x))/255.0f;
     
    }
     


    Ca spoil un peu ce que je fais en ce moment mais bon, on sait jamais si quelqu'un peut m'aider ^^
     
    • Informatif Informatif x 1
  15. Encestral Z

    Encestral Z Résident de l'End

    Inscrit:
    13 Jan 2012
    Messages:
    5 186
    Points:
    199
    Sexe:
    Homme
    Je viens de nettoyer ma liste de contactes skype x)
     
    • Informatif Informatif x 1

Partager cette page