You my friend, should earn a diamond for sharing such an awesome idea. Btw its consumable diamond. I had a similar idea, but the big difference is this: Why not color ALL the blocks in Minecraft? XPP
At first I thought that this would be another "Stained Glass Plz" topic, but then I saw that you included a diagram. Nice work on the suggestion, and it should be added. le Upvote
I like to build different kinds of simple churches in Minecraft. Having colored glass would enhance the ability to make more beautiful ones. Nice idea.
Church, schmurch.
With this you could build an outright Cathedral. Heck, you could build a replica of Notre Dame for that matter. I guess you can do something similar with wool, but the glass would be cooler.
Rollback Post to RevisionRollBack
The OTC derivitatives market will approach a quadrillion dollars in valuation within a year or two. That "private sector innovation" should make you nervous.
This definitely seems well though out, and I would love to see stained glass in Minecraft. The "light mixing" mechanic might be a little complicated, but I can definitely see the worth of it, as there would need to be some way to resolve the presence of multiple colours against the same light source without crashing the game. However, that brings up another question. What happens when more than two colours are present? In particular, what if each face is set with a different colour?
Brilliant explanation! I was wondering how mult-colored sources would work, but your idea is a simple fix (that is, red glass > blue glass = light is red). Diagrams are very nice, as well. And of course, rainbow-colored glass panes would be epic. Yay for you!
Rollback Post to RevisionRollBack
...actually, created is a bit much.... Thought of. That's more accurate.
It's some kind of rendering issue, and I don't think I've ever seen a game that actually pulls it off.
Do you mean to say this in general, for any game you've ever played? Fundamentally, transparency is just a recursive function; if you detect a transparent surface at a certain camera-object ray, grab the color for that, add the RGB values for that pixel of that texture, add/multiply/whatever algorithm, and continue projecting the ray until there's another collision.
I don't know if Notch wrote his own 3d graphics engine in Java or used one that was free/commercially available.
This is quite possibly the coolest idea I have seen yet. WOW. that would make for some VERY cool buildings.
Probably be a bit hard to code for tho'.
Church, schmurch.
With this you could build an outright Cathedral. Heck, you could build a replica of Notre Dame for that matter. I guess you can do something similar with wool, but the glass would be cooler.
I needed stained glass for my smaller replica of Notre Dame I made in survival (out of smooth stone).
but have you ever taken a look thru the terrain.png file? the glass block is mainly just transparency, so mking an ll red glassblock would result in just a red block, so seethrough effects. For it to work you would need to recompose the entire light generation system
Yes, I know it is a wall of text but it will answer your questions:
I have received a lot of comments about glass blocks and changing light color causing too much lag or requiring an entire overhaul of the light engine MC currently has implemented. What people don’t fully understand is how MC lights work and where in-game lag actually comes from in videogames. I can't say I completely understand how exactly the MC lighting engine works as I have not seen the code, however it is briefly explained here: http://www.minecraft....net/wiki/Light
"It would require a new lighting engine":
For starters, the current engine allows a lit area to be influenced by the type of light source that is lighting the blocks within that area: moonlight gives a blue tint, torches and lava give a reddish tint, and complete darkness and sunlight are the same as before. This implies that color CAN be changed with the current lighting engine and RGB blending algorithms are most likely already implemented. That more 'realistic' feel the new lighting engine has is due to the addition of color into the light thus orange/red light from sunsets, blue ambient light given off from the moon, yellow from torches etc. In fact, I wouldn't be too surprised if Mojang built the new engine with changing light color in mind and just still haven’t gotten to it yet. In either case, what we can conclude from the proof available is that the current lighting engine is completely capable of changing light color.
"It would cause lag":
Now as for lag, in all videogames with 'light'; lag comes from dynamic light or realistic light and shadows that have to be rendered in real time every frame (24 fps-standard). The reason it games can lag due to light is because they have to execute hundreds of thousands of complex algorithms every second to render dynamic light accurately. The hardest part of light is simply getting it to show up; once you do that, changing the color is nothing but a simple change in a variable or number. Yes dynamic light requires a game to update every time you change the color value but it does the same even when you are moving and not changing the color value which could cause more lag than just a color change.
Another reason changing color would most likely not affect the performance in MC is because lights in MC are not real lights that one would find in your typical console game. MC lights are not dynamic which is why you are able to place hundreds of them with no change in performance. When you place a light in MC, it the game renders the light once and that's it; as long as you stay in the area, the chunk wont have to update unless you remove the light or the light source is blocked via piston or block placement. With this in mind, changing the light color in Minecraft would cause no lag and would barely effect the game's performance.
So basically, what can we assume from all this?:
1) Changing the color of light in Minecraft is already possible because they are already doing it. So no, they would not have to re-program a new lighting engine.
2) Changing the color of lights in MC would not cause performance issues or in other words lag.
Yes, I fully agree with the colored glass idea. That would work great for those wanting to make stained glass windows for cathedral builds or small churches for Roleplay servers. It would also be a good addition with the redstone lamps. Combine the two with redstone repeaters and you could have a rave!
Do you mean to say this in general, for any game you've ever played? Fundamentally, transparency is just a recursive function; if you detect a transparent surface at a certain camera-object ray, grab the color for that, add the RGB values for that pixel of that texture, add/multiply/whatever algorithm, and continue projecting the ray until there's another collision.
I don't know if Notch wrote his own 3d graphics engine in Java or used one that was free/commercially available.
I don't mean that you couldn't write an algorithm that does it, I just think it's not supported. Either it's considered too computationally expensive to be worth it or common graphics card drivers just aren't compatible.
Notch uses the LWJGL, so the rendering engine is probably based off that. The LWJGL uses OpenGL (as do a lot of game engines) so I think OpenGL might be the issue.
When I thought that they should have stained glass in Minecraft, I just thought "Oh, just throw some dye on the glass blocks!" but what you have here surprised me! (in a good way) I like the different take on it.
You would be able to have all kinds of different colored sand as well as glass and I really like the lighting idea! Supported!
Rollback Post to RevisionRollBack
Question: If I have 10 ice cubes and you have 11 apples, how many pancakes will fit on the roof?
Answer: Purple, because aliens don't wear hats.
This definitely seems well though out, and I would love to see stained glass in Minecraft. The "light mixing" mechanic might be a little complicated, but I can definitely see the worth of it, as there would need to be some way to resolve the presence of multiple colours against the same light source without crashing the game. However, that brings up another question. What happens when more than two colours are present? In particular, what if each face is set with a different colour?
I added more to the diagram; perhaps this could be a solution that answers your question. also they wouldn’t need to make a 'mixing' algorithm either, if you understand light and what happens when you combine different colors of light, the colors would just "mix" to a color that is already represented by a single block. The mixing of red and blue to get the same purple emitted by the purple glass block shown in the diagram explains a little bit of that:
Depending on how it's implemented the light need not be all one color. It might be possible to mix light colors fairly efficiently (though I'm no expert.) The hue would be applied as the light passes through the glass (much as passing through glass, water, and leaves decrements the light level by extra amounts.) Only the hues shift when mixing colors; the brightness is the light level as it always has been.
Placing red on one side and blue on the other would have red going in one direction, blue in the other, and purple hues to the sides. If possible, white and gray light should desaturate the colors it runs into.
Like a few other people have said, I am pretty sure that they lighting system would have to be remade again, I remember seeing Eloraam saying something about how the new lighting system made it impossible to make the colored lights in redpower emit the right color of light.
Although if they redid the lighting system they would also have a chance to fix some of those lighting bugs along with allowing for colored lights
Rollback Post to RevisionRollBack
ragnarock200: awesome, are those things with the creeper faces pistons or furnaces
Snowey1994: There dispensers
Btw its consumable diamond.
I had a similar idea, but the big difference is this: Why not color ALL the blocks in Minecraft? XPP
Probably be a bit hard to code for tho'.
Church, schmurch.
With this you could build an outright Cathedral. Heck, you could build a replica of Notre Dame for that matter. I guess you can do something similar with wool, but the glass would be cooler.
...actually, created is a bit much.... Thought of. That's more accurate.
Do you mean to say this in general, for any game you've ever played? Fundamentally, transparency is just a recursive function; if you detect a transparent surface at a certain camera-object ray, grab the color for that, add the RGB values for that pixel of that texture, add/multiply/whatever algorithm, and continue projecting the ray until there's another collision.
I don't know if Notch wrote his own 3d graphics engine in Java or used one that was free/commercially available.
I needed stained glass for my smaller replica of Notre Dame I made in survival (out of smooth stone).
but have you ever taken a look thru the terrain.png file? the glass block is mainly just transparency, so mking an ll red glassblock would result in just a red block, so seethrough effects. For it to work you would need to recompose the entire light generation system
still would be worth it tho
I have received a lot of comments about glass blocks and changing light color causing too much lag or requiring an entire overhaul of the light engine MC currently has implemented. What people don’t fully understand is how MC lights work and where in-game lag actually comes from in videogames. I can't say I completely understand how exactly the MC lighting engine works as I have not seen the code, however it is briefly explained here: http://www.minecraft....net/wiki/Light
"It would require a new lighting engine":
For starters, the current engine allows a lit area to be influenced by the type of light source that is lighting the blocks within that area: moonlight gives a blue tint, torches and lava give a reddish tint, and complete darkness and sunlight are the same as before. This implies that color CAN be changed with the current lighting engine and RGB blending algorithms are most likely already implemented. That more 'realistic' feel the new lighting engine has is due to the addition of color into the light thus orange/red light from sunsets, blue ambient light given off from the moon, yellow from torches etc. In fact, I wouldn't be too surprised if Mojang built the new engine with changing light color in mind and just still haven’t gotten to it yet. In either case, what we can conclude from the proof available is that the current lighting engine is completely capable of changing light color.
"It would cause lag":
Now as for lag, in all videogames with 'light'; lag comes from dynamic light or realistic light and shadows that have to be rendered in real time every frame (24 fps-standard). The reason it games can lag due to light is because they have to execute hundreds of thousands of complex algorithms every second to render dynamic light accurately. The hardest part of light is simply getting it to show up; once you do that, changing the color is nothing but a simple change in a variable or number. Yes dynamic light requires a game to update every time you change the color value but it does the same even when you are moving and not changing the color value which could cause more lag than just a color change.
Another reason changing color would most likely not affect the performance in MC is because lights in MC are not real lights that one would find in your typical console game. MC lights are not dynamic which is why you are able to place hundreds of them with no change in performance. When you place a light in MC, it the game renders the light once and that's it; as long as you stay in the area, the chunk wont have to update unless you remove the light or the light source is blocked via piston or block placement. With this in mind, changing the light color in Minecraft would cause no lag and would barely effect the game's performance.
So basically, what can we assume from all this?:
1) Changing the color of light in Minecraft is already possible because they are already doing it. So no, they would not have to re-program a new lighting engine.
2) Changing the color of lights in MC would not cause performance issues or in other words lag.
~Epic Space Milk Muffin
I don't mean that you couldn't write an algorithm that does it, I just think it's not supported. Either it's considered too computationally expensive to be worth it or common graphics card drivers just aren't compatible.
Notch uses the LWJGL, so the rendering engine is probably based off that. The LWJGL uses OpenGL (as do a lot of game engines) so I think OpenGL might be the issue.
Mostly moved on. May check back a few times a year.
You would be able to have all kinds of different colored sand as well as glass and I really like the lighting idea! Supported!
Answer: Purple, because aliens don't wear hats.
I added more to the diagram; perhaps this could be a solution that answers your question. also they wouldn’t need to make a 'mixing' algorithm either, if you understand light and what happens when you combine different colors of light, the colors would just "mix" to a color that is already represented by a single block. The mixing of red and blue to get the same purple emitted by the purple glass block shown in the diagram explains a little bit of that:
~Epic Space Milk Muffin
Placing red on one side and blue on the other would have red going in one direction, blue in the other, and purple hues to the sides. If possible, white and gray light should desaturate the colors it runs into.
Mostly moved on. May check back a few times a year.
Although if they redid the lighting system they would also have a chance to fix some of those lighting bugs along with allowing for colored lights
Snowey1994: There dispensers
It'd actually want to see colored glass implemented into the game as well...
I could have plenty of uses for it, like maybe a cooler looking light up dance floor! (I've made one before, it's trippy)