Jump to content

Relaxing day at the beach


Would you come and visit this beach?  

19 members have voted

  1. 1. Would you come and visit this beach?

    • Yes
      19
    • No thanks
      0

  • Please sign in to vote in this poll.

Recommended Posts

@Szico VII Ah thanks for letting me know. I ended up sorta making mine by hand... using 2k textures. Got it close to how it should look then compiled the map and made minor edits in photoshop using vid_restart over and over lol. I tried to find a program that could automatically do the appropiate distortion but all the ones I found were out of my price range. Also tried using blender and texturing the inside of a cube but that didn't translate well into JKA. Its just a painful slow process to make it look right. Or if ya know any good plugins for photoshop I'm all ears. Making the animated skyboxes is nice but sometimes not worth the performance cost. I want to eventually learn how to use rend2. I just have to make sure it works for both base JKA and Rend2 users since its hard to get people to download anything for multiplayer.

That grass also looks really good. I tried using a grass shader but FPS DROPPED fast with the size of the map.

Like the progress so far!! feel free to use any assets I used in my Costa Del Sol map... your tutorials and .map files ya shared are half the reason I was able to make it. for example alpha shaders and decals are some things I learned from ya. The other half was due to @mjtbeing a mapping senpai lol. regardless can't thank ya enough.

Smoo and mjt like this
Link to comment

Absolutely beautiful! I was hoping to find some cloudsprites looking similar to what you have in your skybox and set them up in a skyportal either as .efx or sprites with deformVertex cyclic movement plus blending. Do you intend to setup cloudshadows on the sea and island as well? It looks stunning! This also looks like a good testcase for an NPC based sun lensflare using ICARUS to set it to face the player in SP with the headbone. Could use some nice deformVertexes autosprite lensflares on a straight viewaxis of that NPC. Pretty sure you maxed out what's posible in Radiant / q3map2 otherwise. It looks just very well balanced!

If you tell me the water level in worldunits, I'll drop you an .eal eagle mesh for EAX soundmuffling below water.

SephFF likes this
Link to comment
12 minutes ago, mjt said:

If you tell me the water level in worldunits, I'll drop you an .eal eagle mesh for EAX soundmuffling below water.

Im going to be honest, I have no idea what that means - can you explain?

 

14 minutes ago, SephFF said:

your tutorials and .map files ya shared are half the reason I was able to make it. for example alpha shaders and decals are some things I learned from ya. The other half was due to @mjtbeing a mapping senpai lol. regardless can't thank ya enough.

Very glad you found the assets useful, Ill have a look at it shortly:

 

Do people think its better more isolated or I can pop more islands in the skybox to make it seem more of an archipelago chain
NB: rend2 is on left and vanilla on right:

test2.jpg

test1.jpg

15 minutes ago, mjt said:

 Do you intend to setup cloudshadows on the sea and island as well?

Also no idea how to do this, is this a rend2 feature? Ive found current ren2 documentation lacking, took me a few hours browsing posts to realise the shader commands I used a few years ago had all been changed e.g "stage normalparallaxmap"

Smoo, SomaZ and mjt like this
Link to comment

More islands! Makes you long to get over there though 😛 probably a bit farther out? Also to preserve resolution between skybox and islands.
How is performance so far? Thought about making actual islands far enough apart? Could make some boat NPCs to ride on the water!

Cloudshadows - you could just project them as shader stage from above using tcGen vector. Those cloudshadows ofc would not cast dynamic shadows on the player. Thinking about it - the gl2 version of rend2 for SP supported filtering dynamic lights through alphatested shaders (using alphaFunc) you could use that on the cloudlayer and have it invisible from underside but hard towars the sun and move it with tcMod scroll - would have to experiment with where the sun rendering actually happens - maybe can scale up such a cloudlayer brush in _skybox entity  skybox.

For EAX I meant this: 

OpenAL / EAX can be restored using a dll. drop in replacement to route sound through directsound or OpenAL to restore EAX reverb and other effects soundwise. When EAX /s_useOpenAL 1 is set in JKA, you'll lose facial animations on NPCs if you don't provide an .eal file (EAGLE mesh) in the eagle directory with the same name as the bsp.

This file has sound zone information and is capable of for example the stuff shown above in the video.

 

I think on rend2 this is still the latest documentation out there:
 

 

 

SephFF likes this
Link to comment

top 2 looks better to me... The bottom 2 I tho would be better if made for at a farther distance away from the island.

"Do people think its better more isolated or I can pop more islands in the skybox to make it seem more of an archipelago chain"

I would say archipelago as long as it does not kill performance. Adds more life to the environment. Also recommend adding fishes/coral... i would be curious to see how you would tackle it lol

Link to comment
12 hours ago, Circa said:

I think @SomaZ is usually a good resource for rend2 questions.

 

If rend2 tutorials are spread around the forum we should probably get them in the tutorials section to find easier. I could always make a new category for it if people think that would be used.

@SomaZ @Circa

I haven't found any good resources really. Just that one post that mjt already highlighted.

And there's no explanation of what each type of texture is, or does. Some example files for each type of shader pass/material pass would be extremely useful.

e.g the terms, albedo map, RMO mean nothing to me, and even google doesnt tell me what RMO stands for

It also mentions liquid shaders but that doesnt seem to work at all in my mtr so in need of refreshing

Link to comment
3 hours ago, Szico VII said:

@SomaZ @Circa

I haven't found any good resources really. Just that one post that mjt already highlighted.

And there's no explanation of what each type of texture is, or does. Some example files for each type of shader pass/material pass would be extremely useful.

e.g the terms, albedo map, RMO mean nothing to me, and even google doesnt tell me what RMO stands for

It also mentions liquid shaders but that doesnt seem to work at all in my mtr so in need of refreshing

Yea, I'm sorry for the lack of resources regarding rend2. I started writing a tutorial series, but its far from beeing finished. The main idea of the new material system of rend2 is the usage of a pbr material pipeline. It decouples lighting information from material information. Means, theres no diffuse texture anymore, but a simple material color (also called albedo or basecolor) and some maps defining material properties. Like normal maps. The RMO texture (or ORM or MOXR) is a packed texture. It actually consists of 3 different gray scale textures defining different material properties. R stands for roughness, M for metalness, O for occlusion (ambient occlusion or cavity occlusion), X is a spare channel that is not used. So RMO textures pack roughness in the red channel, metalness in the green channel and occlusion into the blue channel of the texture.

Here is an example image made by @AshuraDX
Texture_Composition.png

 

I started remaking the bespin duel map with rend2 in mind last year, but found rend2 to be too unfinished to release anything yet. Had to change normal map handling and some other things that are mostly finished now. So expect a sample map with some nice rend2 tricks soon.

Also working on a blender addon to bake proper lighting for rend2, which also took alot of time. Hope to release this beast with proper documentation this year. More on that also soon.

Hope this helps at least a bit with your current project. Really like the aesthetic so far. I'd probably add some darkening for the wet sand near the water line to make it look even better.

 

If you have further questions, I'm happy to answer them.

EDIT: Whoops, totally forgot about the liquid shader. The liquid shader is only implemented in gl2 which is the df2 mod fork of rend2 for sp. There are no plans in porting this over to rend2 as the code is quite messy. But never say never

Link to comment

@SomaZ

Thanks for the breakdown, is there a good tool that will generate appropriate PBR for free you can recommend?

The rend2 feature I was really hoping for was cubemapping for water but that's a no go?

Also, how would you darken the texture near the water line using rend2? Theres no good way to do this in baseJA other than a separate texture blend which is definitely possible

Link to comment

Hm, I'm totally invested in the Substance 3D suite. I have very little experience with free tools regarding pbr tbh.

I know about ArmorPaint and ArmorLab which looks actually pretty good on first glance
https://armory3d.org/

Theres also alot of free CC0 licensed materials here
http://www.3dassets.one/#license=cc-0&type=pbr-material&order=latest

Quixel Mixer is kind of free. Adding free materials is annoying though, but its a really nice software overall
https://quixel.com/mixer

Blender is also potentially viable if you are familar with that. Though the workflow consists of baking your maps manually, which can get annoying.

 

Cubemapping needs to be enabled via cvar: r_cubemapping 1;vid_restart
It will use deathmatch spawn points to create them on level load, or you place new entities with "classname" "misc_cubemap", "radius" "#your_parallax_correction_radius", "origin" "#origin_obviously". Parallax radius is not very intuitive tbh, I'd start with something big like 1000 and reduce or increase when reflections behave strangely. Surfaces use the closest available cubemap around them. Theres another way of defining cubemaps via a json file, but this feature is like 100% undocumented. I added an export to my blender addon for the file, but also not public yet and undocumented. 😬

 

The darkening would be a seperate material stage, so yea. Bascially like in vanilla. Theres no specialized way of doing it in rend2 (yet). You might be able to blend those based on vertex alpha, but havent put much thought into it.
 

EDIT: Havent tested any transparent surface with cubemaps for a long time. You might need to add a "solid" dummy stage first that actually draws nothing.

textures/rend2/transparent_cubemapped
{
	{
		map $whiteimage
		alphaGen const 0.0
		alphaFunc GE128
	}
	// your transparent layers after that
}


 

Link to comment

Just an FYI, I created a rend2 tutorial section and moved a couple threads to it as per SomaZ.

Tagging the Rend2 Acolytes that sing its praises regularly, that I can think of. @DT85 @minilogoguy18 @SomaZ @mjt @Stoiss @Mandalorian @AshuraDX

More tutorials for it would be appreciated, if anyone is up for that. I know SomaZ is working on some, in case others wanted to as well.

https://jkhub.org/tutorials/rend2/

Edited by Circa
added the rend2 fanatics
Szico VII and SomaZ like this
Link to comment
2 hours ago, SomaZ said:

Cubemapping needs to be enabled via cvar: r_cubemapping 1;vid_restart
It will use deathmatch spawn points to create them on level load, or you place new entities with "classname" "misc_cubemap", "radius" "#your_parallax_correction_radius", "origin" "#origin_obviously". Parallax radius is not very intuitive tbh, I'd start with something big like 1000 and reduce or increase when reflections behave strangely. Surfaces use the closest available cubemap around them. Theres another way of defining cubemaps via a json file, but this feature is like 100% undocumented. I added an export to my blender addon for the file, but also not public yet and undocumented. 😬
 

EDIT: Havent tested any transparent surface with cubemaps for a long time. You might need to add a "solid" dummy stage first that actually draws nothing.

textures/rend2/transparent_cubemapped
{
	{
		map $whiteimage
		alphaGen const 0.0
		alphaFunc GE128
	}
	// your transparent layers after that
}


 

@SomaZIm confused which part of the shader tells it to use cubemaps for reflection?? Same for the one in the other topic:

Base has the tcGen enviro command, which bits in these shaders even tell it to be reflective? Just looks like a transparency + NM? 
Or does it derive reflective areas from the rmo?

textures/DF2_glass/glass1
{
	qer_trans	0.5

    	{
        	map textures/DF2_glass/glass1
        	blendFunc GL_ONE_MINUS_SRC_ALPHA GL_SRC_ALPHA

		normalMap textures/DF2_glass/glass1_N
		normalScale 1 -1

		rmoMap textures/DF2_glass/glass1_RMO
    	}
        {
		map $lightmap
		blendFunc GL_DST_COLOR GL_ZERO
	}
}
Link to comment

The dummy stage actually forces the renderer to think its a solid material. Currently only solid materials can use the new lighting system (even if they actually arent solid). I will remove this restriction when I have some time because its stupid.

 

As I said, pbr materials try to decouple lighting from the material itself. Reflections are a component of lighting. So the roughness of the material defines how much reflection you will get. Not the most physical correct explaination. Reflection is always there. The roughness actually tells how much the reflection will scatter. The stronger the scattering, the less noticiable is the reflection itself. There is no dedicated reflection stage for cubemaps. Else you could not use the material in other places without defining a new shader with a different cubemap assigned.

 

EDIT: For a water shader you probably dont need a rmo. Theres no real occlusion happening, and you dont have metallic components. You can just skip that map completely. You can just define the roughness per stage with the keyword "roughness 0.5" for something that is more rough, "roughness 0.1" should be fine for water like surfaces. Since you scale down the reflection with your blend, you can counter it with "specularreflectance 0.0-1.0".
If you have a uniform transparency of 0.08, your specularreflectance should be around 1.0, the less transparent, the less the reflectance. Like uniform transparency of 0.16: specularreflectance should be 0.5 and so on. At least thats how I handled glass. Water might be more reflective overall.

Assuming you use a texture without alpha channel, your shader could look similar to this

textures/rend2/water
{
	qer_trans	0.5
	{
		map $whiteimage
		alphaGen const 0.0
		alphaFunc GE128
	}
	{
		map textures/rend2/water
		normalMap textures/rend2/water_n
		specularreflectance 1.0
		roughness 0.1
		alphaGen 0.08
		blendFunc GL_ONE_MINUS_SRC_ALPHA GL_SRC_ALPHA
	}
	{
		map $lightmap
		blendFunc GL_DST_COLOR GL_ZERO
	}
}

 

Link to comment
1 hour ago, SomaZ said:

The dummy stage actually forces the renderer to think its a solid material. Currently only solid materials can use the new lighting system (even if they actually arent solid). I will remove this restriction when I have some time because its stupid.

 

As I said, pbr materials try to decouple lighting from the material itself. Reflections are a component of lighting. So the roughness of the material defines how much reflection you will get. Not the most physical correct explaination. Reflection is always there. The roughness actually tells how much the reflection will scatter. The stronger the scattering, the less noticiable is the reflection itself. There is no dedicated reflection stage for cubemaps. Else you could not use the material in other places without defining a new shader with a different cubemap assigned.

 

EDIT: For a water shader you probably dont need a rmo. Theres no real occlusion happening, and you dont have metallic components. You can just skip that map completely. You can just define the roughness per stage with the keyword "roughness 0.5" for something that is more rough, "roughness 0.1" should be fine for water like surfaces. Since you scale down the reflection with your blend, you can counter it with "specularreflectance 0.0-1.0".
If you have a uniform transparency of 0.08, your specularreflectance should be around 1.0, the less transparent, the less the reflectance. Like uniform transparency of 0.16: specularreflectance should be 0.5 and so on. At least thats how I handled glass. Water might be more reflective overall.

Assuming you use a texture without alpha channel, your shader could look similar to this

textures/rend2/water
{
	qer_trans	0.5
	{
		map $whiteimage
		alphaGen const 0.0
		alphaFunc GE128
	}
	{
		map textures/rend2/water
		normalMap textures/rend2/water_n
		specularreflectance 1.0
		roughness 0.1
		alphaGen 0.08
		blendFunc GL_ONE_MINUS_SRC_ALPHA GL_SRC_ALPHA
	}
	{
		map $lightmap
		blendFunc GL_DST_COLOR GL_ZERO
	}
}

 

See, i didnt even know these commands existed: (and incidentally, the line "

alphaGen 0.08 

is not recognised by the renderer (ingame error)

specularreflectance 1.0
roughness 0.1

@SomaZDo you have a list of all the current working shader commands and descriptions by any chance?

Also, random issue - i enable r_parallaxmapping1 and as you can see from last video, was working with proper parallax effect on sand. But now its just stopped working. I even removed every other texture and shader from the mtr, just leaving the sand and the parallax effect is completely disappeared? Is this a bug or am I missing something

Link to comment
1 hour ago, Szico VII said:

See, i didnt even know these commands existed: (and incidentally, the line "

alphaGen 0.08 

is not recognised by the renderer (ingame error)

Yea, my bad. alphaGen const 0.08 should be standing there. Just typed everything from memory because I wasn't at my computer.

I post a list of shader commands tomorrow in the rend2 tutorial section. Might even take the time to make comparison screenshots with different values for every new shader keyword.

 

Hm, no idea what would cause parallax to break. Did you add a rmo map with different image dimensions than the main image of a stage? The console might tell you more. Theres nothing else I can think of right now. If thats not the case, could you send me your current project so I can test it myself? Might take some time to figure out via text exchange only  🙂

Link to comment
1 hour ago, SomaZ said:

m, no idea what would cause parallax to break. Did you add a rmo map with different image dimensions than the main image of a stage? The console might tell you more. Theres nothing else I can think of right now. If thats not the case, could you send me your current project so I can test it myself? Might take some time to figure out via text exchange only  🙂

@SomaZ

Nothing has changed. Ive even made a new map just a square box with a single shader and the parallaxmap isnt applying now. Textures are both identically sized, the main texture and the nm.jpg. The specular layer still works fine if added. Nothing actually has changed with the shader or images from when it was working earlier.

Am I on a borked or old rend2? The most recent one on the github that was built was like from 2018 I think

And for some reason the github page is now gone/down ??

http://gandalf.acslo.com/rend2/

NVM I am so dumb, I redid the bumpmap to alter slightly and forgot I need a heightmap added to the alpha channel, which got erased by mistake

/facepalm

SomaZ likes this
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...