Just here to say that I really like this texture pack and I think you made a good job on the items and blocks. Keep up the updates and you will reach 100k downloads in no time! :smile.gif:
Began the work on shader maps.
Here is a little peek:
Also, I am having some troubles with GLSL mod.
1. Don't know how to turn off the DoF.
2. There is small flashing gaps between blocks (you can actually see it in screenshots somewhere). What causes this and can it be fixed? (No AA of anisotropic filtering are forced.)
3. Also there is very annoying shading effect on sun texture. Why is it there and can it be removed?
I've posted in GLSL-thread already, but maybe here I'll get some answers quicker.
1. Don't know how to turn off the DoF.
2. There is small flashing gaps between blocks (you can actually see it in screenshots somewhere). What causes this and can it be fixed? (No AA of anisotropic filtering are forced.)
3. Also there is very annoying shading effect on sun texture. Why is it there and can it be removed?
I've posted in GLSL-thread already, but maybe here I'll get some answers quicker.
I can help with the first one at least. To disable the Depth of Field effect open up your minecraft.jar with winrar, go into the shaders folder, and open up a file called "final.fsh" with a text editing program such as notepad++. Once in there all you have to do is place two forward slashes (//) in front of the line #define USE_DOF.
For the other two questions, I'm assuming it's probably just bugs, as glsl can be a bit wonky.
// foreground blur = 1/2 background blur. Blur should follow exponential pattern until cursor = hyperfocal -- Cursor before hyperfocal
// Blur should go from 0 to 1/2 hyperfocal then clear to infinity -- Cursor @ hyperfocal.
// hyperfocal to inifity is clear though dof extends from 1/2 hyper to hyper -- Cursor beyond hyperfocal
If that fails I'm not too sure, other than messing around placing more forward slashes in other places, or maybe even changing every integer you see in the code to 0 lol. But I'm sure you'll find someone able to help you out over on the glsl thread. Another place to look around would be the glsl wiki if you haven't been there yet.
It seems like info in GLSL thread/wiki is somewhat outdated. I've searched already.
...
And some of lines that you suggested turns off DoF indeed. But in the same time they disables some other shading effects. Though the real trouble is #2. If this will not be fixed by mod's authors, I doubt I will use it.
I solved my problem. It was because I used OptiFine through MCPatcher. They can work together if you turn off some features of MCP but this atrifacts was the downside. Don't know what to do next really... Magic Launcher, which recommended with OrtiFine, patches jar exactly before the launch (as far as I understand), so I can't use GLSL shaders after that. Is there any good patchers (mod organizers) beside this two?
When (or if) you release the shaders, would you mind putting up a step by step tutorial on how to install it with the settings to make it look the best it can ? :wink.gif:
I'll put maps into pack, so they will be used automatically as soon, as you install the mod. There is detailed instructions on Wiki, about how to do it. And I know only two settings which affects bump mapping: 'on' and 'off' :smile.gif: Althought there is some alternatives but I didn't check any of them.
Do you plan to update to 12w3 before continuing on the shader-maps?
Not really. I see only one (well, actually three) new texture of a palm (presumably), so I won't update the pack for it exactly. But I'll include it in next sufficient update. As well, as in shader maps. I still have too many unfinished things in main pack, so I can't afford chasing the test-versions. I shouldn't work on shaders, before I finish armor and mobs, really. But I like shaders and hate skins (they are so hard) :smile.gif:
These textures seem like they are all taken from a stock photos website... Perhaps make your own textures?
It will take more time and (or) the result will be worse. So, why should I? My goal is to make Minecraft look good. If existing texture can do the job (although, most of them can't) I will use it. And if I can use someone elses photos, without making my own, to pull out the texture, I will do this as well. Don't see the problem at all.
It will take more time and (or) the result will be worse. So, why should I? My goal is to make Minecraft look good. If existing texture can do the job (although, most of them can't) I will use it. And if I can use someone elses photos, without making my own, to pull out the texture, I will do this as well. Don't see the problem at all.
So everyone, everywhere, should make their own textures from scratch? LMAO
Comments like this are why many people have no respect for HD artists. You are not an artist if all you do is take something from someone else and call it your own, you are a thief.
And @Kreeate:
Yes, everyone should make their own textures if they want to publish them. Period. Anything else is false representation of themselves and is the behavior of one with no talent. Are you insinuating that you think all the texture packs here are unoriginal stolen works of art from somewhere, and if they aren't that they should be? That is just plain wrong.
Comments like this are why many people have no respect for HD artists. You are not an artist if all you do is take something from someone else and call it your own, you are a thief.
And @Kreeate:
Yes, everyone should make their own textures if they want to publish them. Period. Anything else is false representation of themselves and is the behavior of one with no talent. Are you insinuating that you think all the texture packs here are unoriginal stolen works of art from somewhere, and if they aren't that they should be? That is just plain wrong.
Starting from version 0.1 there is a statement in the main post:
- I used a lot of photos and photo-textures from around the internet. Most of them are free, but some I could accidently stole. I didn't use any of existing Minecraft textures, though.
So I do not pretend for much. Although:
- Despite of pervious statement there is plenty of handwork as well.
And this is also true.
Basically, I do what I want and you can call it any way you like. 'Thieving non-art' for example :smile.gif:
So everyone, everywhere, should make their own textures from scratch? LMAO
Every texture in my pack is made from scratch.
The dirt texture has some effects applied to a texture I already had, but that original texture was already mine anyways.
Rollback Post to RevisionRollBack
There's yet more to come!
To post a comment, please login or register a new account.
I'll farm all day long with peaceful on.
IGN: HARMONYOHLOVE
It is looks really good. I feel like I need to start working on bump maps right now, to unleash the full potential of the pack...
Is it usual for mobs to ride in minecarts?
UPD
Yep. Turns out it's pretty usual behavior :smile.gif: Though, I never noticed before.
Here is a little peek:
Also, I am having some troubles with GLSL mod.
1. Don't know how to turn off the DoF.
2. There is small flashing gaps between blocks (you can actually see it in screenshots somewhere). What causes this and can it be fixed? (No AA of anisotropic filtering are forced.)
3. Also there is very annoying shading effect on sun texture. Why is it there and can it be removed?
I've posted in GLSL-thread already, but maybe here I'll get some answers quicker.
I can help with the first one at least. To disable the Depth of Field effect open up your minecraft.jar with winrar, go into the shaders folder, and open up a file called "final.fsh" with a text editing program such as notepad++. Once in there all you have to do is place two forward slashes (//) in front of the line #define USE_DOF.
For the other two questions, I'm assuming it's probably just bugs, as glsl can be a bit wonky.
IGN: HARMONYOHLOVE
Using bumps-shadows-optifine_required alternative shaders.
Here is what I have in final.fsh:
#version 120
// More realistic depth-of-field by Azraeil.
// This is a modification of Daxnitro's depth-of-field shader.
// If you want a higher quality blur, remove the forward slashes from the following line:
#define USE_HIGH_QUALITY_BLUR
uniform sampler2D gcolor;
uniform sampler2D gdepth;
uniform sampler2D gnormal;
uniform sampler2D composite;
varying vec4 texcoord;
uniform float aspectRatio;
uniform float near;
uniform float far;
// HYPERFOCAL = (Focal Distance ^ 2)/(Circle of Confusion * F Stop) + Focal Distance
const float HYPERFOCAL = 3.132;
const float PICONSTANT = 3.14159;
float getDepth(vec2 coord);
vec4 getBlurredColor();
vec4 getSample(vec2 coord, vec2 aspectCorrection);
vec4 getSampleWithBoundsCheck(vec2 offset);
float samples = 0.0;
vec2 space;
void main() {
vec4 baseColor = texture2D(composite, texcoord.st);
float depth = getDepth(texcoord.st);
float cursorDepth = getDepth(vec2(0.5, 0.5));
// foreground blur = 1/2 background blur. Blur should follow exponential pattern until cursor = hyperfocal -- Cursor before hyperfocal
// Blur should go from 0 to 1/2 hyperfocal then clear to infinity -- Cursor @ hyperfocal.
// hyperfocal to inifity is clear though dof extends from 1/2 hyper to hyper -- Cursor beyond hyperfocal
float mixAmount = 0.0;
if (depth < cursorDepth) {
mixAmount = clamp(2.0 * ((clamp(cursorDepth, 0.0, HYPERFOCAL) - depth) / (clamp(cursorDepth, 0.0, HYPERFOCAL))), 0.0, 1.0);
} else if (cursorDepth == HYPERFOCAL) {
mixAmount = 0.0;
} else {
mixAmount = 1.0 - clamp((((cursorDepth * HYPERFOCAL) / (HYPERFOCAL - cursorDepth)) - (depth - cursorDepth)) / ((cursorDepth * HYPERFOCAL) / (HYPERFOCAL - cursorDepth)), 0.0, 1.0);
}
if (mixAmount != 0.0) {
gl_FragColor = mix(baseColor, getBlurredColor(), mixAmount);
} else {
gl_FragColor = baseColor;
}
}
float getDepth(vec2 coord) {
return 2.0 * near * far / (far + near - (2.0 * texture2D(gdepth, coord).x - 1.0) * (far - near));
}
vec4 getBlurredColor() {
vec4 blurredColor = vec4(0.0);
float depth = getDepth(texcoord.xy);
vec2 aspectCorrection = vec2(1.0, aspectRatio) * 0.005;
vec2 ac0_4 = 0.4 * aspectCorrection; // 0.4
#ifdef USE_HIGH_QUALITY_BLUR
vec2 ac0_4x0_4 = 0.4 * ac0_4; // 0.16
vec2 ac0_4x0_7 = 0.7 * ac0_4; // 0.28
#endif
vec2 ac0_29 = 0.29 * aspectCorrection; // 0.29
#ifdef USE_HIGH_QUALITY_BLUR
vec2 ac0_29x0_7 = 0.7 * ac0_29; // 0.203
vec2 ac0_29x0_4 = 0.4 * ac0_29; // 0.116
#endif
vec2 ac0_15 = 0.15 * aspectCorrection; // 0.15
vec2 ac0_37 = 0.37 * aspectCorrection; // 0.37
#ifdef USE_HIGH_QUALITY_BLUR
vec2 ac0_15x0_9 = 0.9 * ac0_15; // 0.135
vec2 ac0_37x0_9 = 0.37 * ac0_37; // 0.1369
#endif
vec2 lowSpace = texcoord.st;
vec2 highSpace = 1.0 - lowSpace;
space = vec2(min(lowSpace.s, highSpace.s), min(lowSpace.t, highSpace.t));
if (space.s >= ac0_4.s && space.t >= ac0_4.t) {
blurredColor += texture2D(composite, texcoord.st + vec2(0.0, ac0_4.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_4.s, 0.0));
blurredColor += texture2D(composite, texcoord.st + vec2(0.0, -ac0_4.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_4.s, 0.0));
#ifdef USE_HIGH_QUALITY_BLUR
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_4x0_7.s, 0.0));
blurredColor += texture2D(composite, texcoord.st + vec2(0.0, -ac0_4x0_7.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_4x0_7.s, 0.0));
blurredColor += texture2D(composite, texcoord.st + vec2(0.0, ac0_4x0_7.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_4x0_4.s, 0.0));
blurredColor += texture2D(composite, texcoord.st + vec2(0.0, -ac0_4x0_4.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_4x0_4.s, 0.0));
blurredColor += texture2D(composite, texcoord.st + vec2(0.0, ac0_4x0_4.t));
#endif
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_29.s, -ac0_29.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_29.s, ac0_29.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_29.s, ac0_29.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_29.s, -ac0_29.t));
#ifdef USE_HIGH_QUALITY_BLUR
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_29x0_7.s, ac0_29x0_7.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_29x0_7.s, -ac0_29x0_7.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_29x0_7.s, ac0_29x0_7.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_29x0_7.s, -ac0_29x0_7.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_29x0_4.s, ac0_29x0_4.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_29x0_4.s, -ac0_29x0_4.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_29x0_4.s, ac0_29x0_4.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_29x0_4.s, -ac0_29x0_4.t));
#endif
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_15.s, ac0_37.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_37.s, ac0_15.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_37.s, -ac0_15.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_15.s, -ac0_37.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_15.s, ac0_37.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_37.s, ac0_15.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_37.s, -ac0_15.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_15.s, -ac0_37.t));
#ifdef USE_HIGH_QUALITY_BLUR
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_15x0_9.s, ac0_37x0_9.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_37x0_9.s, ac0_15x0_9.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_37x0_9.s, -ac0_15x0_9.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_15x0_9.s, -ac0_37x0_9.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_15x0_9.s, ac0_37x0_9.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_37x0_9.s, ac0_15x0_9.t));
blurredColor += texture2D(composite, texcoord.st + vec2(-ac0_37x0_9.s, -ac0_15x0_9.t));
blurredColor += texture2D(composite, texcoord.st + vec2(ac0_15x0_9.s, -ac0_37x0_9.t));
#endif
#ifdef USE_HIGH_QUALITY_BLUR
blurredColor /= 41.0;
#else
blurredColor /= 16.0;
#endif
} else {
blurredColor += getSampleWithBoundsCheck(vec2(0.0, ac0_4.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_4.s, 0.0));
blurredColor += getSampleWithBoundsCheck(vec2(0.0, -ac0_4.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_4.s, 0.0));
#ifdef USE_HIGH_QUALITY_BLUR
blurredColor += getSampleWithBoundsCheck(vec2(ac0_4x0_7.s, 0.0));
blurredColor += getSampleWithBoundsCheck(vec2(0.0, -ac0_4x0_7.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_4x0_7.s, 0.0));
blurredColor += getSampleWithBoundsCheck(vec2(0.0, ac0_4x0_7.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_4x0_4.s, 0.0));
blurredColor += getSampleWithBoundsCheck(vec2(0.0, -ac0_4x0_4.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_4x0_4.s, 0.0));
blurredColor += getSampleWithBoundsCheck(vec2(0.0, ac0_4x0_4.t));
#endif
blurredColor += getSampleWithBoundsCheck(vec2(ac0_29.s, -ac0_29.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_29.s, ac0_29.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_29.s, ac0_29.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_29.s, -ac0_29.t));
#ifdef USE_HIGH_QUALITY_BLUR
blurredColor += getSampleWithBoundsCheck(vec2(ac0_29x0_7.s, ac0_29x0_7.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_29x0_7.s, -ac0_29x0_7.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_29x0_7.s, ac0_29x0_7.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_29x0_7.s, -ac0_29x0_7.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_29x0_4.s, ac0_29x0_4.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_29x0_4.s, -ac0_29x0_4.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_29x0_4.s, ac0_29x0_4.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_29x0_4.s, -ac0_29x0_4.t));
#endif
blurredColor += getSampleWithBoundsCheck(vec2(ac0_15.s, ac0_37.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_37.s, ac0_15.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_37.s, -ac0_15.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_15.s, -ac0_37.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_15.s, ac0_37.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_37.s, ac0_15.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_37.s, -ac0_15.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_15.s, -ac0_37.t));
#ifdef USE_HIGH_QUALITY_BLUR
blurredColor += getSampleWithBoundsCheck(vec2(ac0_15x0_9.s, ac0_37x0_9.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_37x0_9.s, ac0_15x0_9.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_37x0_9.s, -ac0_15x0_9.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_15x0_9.s, -ac0_37x0_9.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_15x0_9.s, ac0_37x0_9.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_37x0_9.s, ac0_15x0_9.t));
blurredColor += getSampleWithBoundsCheck(vec2(-ac0_37x0_9.s, -ac0_15x0_9.t));
blurredColor += getSampleWithBoundsCheck(vec2(ac0_15x0_9.s, -ac0_37x0_9.t));
#endif
blurredColor /= samples;
}
return blurredColor;
}
vec4 getSampleWithBoundsCheck(vec2 offset) {
vec2 coord = texcoord.st + offset;
if (coord.s <= 1.0 && coord.s >= 0.0 && coord.t <= 1.0 && coord.t >= 0.0) {
samples += 1.0;
return texture2D(composite, coord);
} else {
return vec4(0.0);
}
}
uniform sampler2D gcolor;
uniform sampler2D gdepth;
uniform sampler2D gnormal;
uniform sampler2D composite;
varying vec4 texcoord;
uniform float aspectRatio;
uniform float near;
uniform float far;
If that fails I'm not too sure, other than messing around placing more forward slashes in other places, or maybe even changing every integer you see in the code to 0 lol. But I'm sure you'll find someone able to help you out over on the glsl thread. Another place to look around would be the glsl wiki if you haven't been there yet.
IGN: HARMONYOHLOVE
...
And some of lines that you suggested turns off DoF indeed. But in the same time they disables some other shading effects. Though the real trouble is #2. If this will not be fixed by mod's authors, I doubt I will use it.
What else would you like to see in wool section? There is six more wools available.
I'll put maps into pack, so they will be used automatically as soon, as you install the mod. There is detailed instructions on Wiki, about how to do it. And I know only two settings which affects bump mapping: 'on' and 'off' :smile.gif: Althought there is some alternatives but I didn't check any of them.
Not really. I see only one (well, actually three) new texture of a palm (presumably), so I won't update the pack for it exactly. But I'll include it in next sufficient update. As well, as in shader maps. I still have too many unfinished things in main pack, so I can't afford chasing the test-versions. I shouldn't work on shaders, before I finish armor and mobs, really. But I like shaders and hate skins (they are so hard) :smile.gif:
It will take more time and (or) the result will be worse. So, why should I? My goal is to make Minecraft look good. If existing texture can do the job (although, most of them can't) I will use it. And if I can use someone elses photos, without making my own, to pull out the texture, I will do this as well. Don't see the problem at all.
Comments like this are why many people have no respect for HD artists. You are not an artist if all you do is take something from someone else and call it your own, you are a thief.
And @Kreeate:
Yes, everyone should make their own textures if they want to publish them. Period. Anything else is false representation of themselves and is the behavior of one with no talent. Are you insinuating that you think all the texture packs here are unoriginal stolen works of art from somewhere, and if they aren't that they should be? That is just plain wrong.
Starting from version 0.1 there is a statement in the main post:
So I do not pretend for much. Although:
And this is also true.
Basically, I do what I want and you can call it any way you like. 'Thieving non-art' for example :smile.gif:
Every texture in my pack is made from scratch.
The dirt texture has some effects applied to a texture I already had, but that original texture was already mine anyways.
There's yet more to come!