✔ ☕ General Conversation Thread

Wait, so It is indenting your Namespace entry? mine sits along the left edge and is never indented… must be something above it that is making it indented… if I gathered that link correctly…

Have you tried VS17RC yet?

And I know you can set the indentation settings…

Click Tools > Options > type Indent and click the various options there, you can choose No formatting… I cannot see why it is an issue, which aspect is still auto formatting?

I checked that in VS15, same options in VS17RC, just set Tabs and Indentation to None and Off… I think it is the SMART option that is giving you trouble…

If not… does it break your code? if not then well, if you have no need to develop for UWP, I think you are fine for now…

On a lighter note… I completed my third C# foray and picked up a few new bits, and will move back onto my Web ASP.NET studies :slight_smile: someone hooked me up with a client and as such I need to do 25 days of studies in two weeks… yay for me… but it should be do-able as the book has a lot of pictures :slight_smile:

@KakCAT man that is a long time of coding… wish I started ten years earlier, only got into coding with a BASIC based language in 2010 and then when they killed the platform, I moved up into C# just a few years ago… and now after this third foray [First book 718~ pages, second book was C# and .NET 1471~ Pages and this third one was just 186~ pages - all of which were read verbatim] I feel more confident with my understanding of coding and now it is just about putting the code to work… I am studying two different books at the moment, one on MonoGame to build a game engine thing and another is ASP.NET… both books have breaking changes or issues since they were published yet I am able to overcome those issues, which I think is a good sign of my understanding of coding and the tools I am using… the only area I lack right now is the Maths… I forgot all my algebra and calculus stuff :stuck_out_tongue: so will be studying that after these two books… the only issue is, it is easy to pick up the Math skills-ish, but putting it into code form can be tricky… at least until you get used to it…

Anyway… sorry for the long post too…

I hope everyone had a good weekend… :sake:

Happy 15th Birthday .NET :heart_decoration:

@Jjagg hopefully I will have something released this year for the 2017 Showcase… aiming to make some showcase videos during development too… [Relating to the 2016 showcase video for MonoGame thread]

Speaking of which, how about people list their projects here? I will link each post in the first post for reference…

EDIT

So I bit the bullet and bought GTA V finally… not bothered about being first to a game, and I am far too aware of buying early versions as they are littered with bugs and other issues, not to mention overpriced… I am not a serious gamer, so I feel what I pay for a game should reflect how much I get out of it… £25 for me was an upper limit… I suspect the game will stop working like GTA IV did so I have about 2 more years of gameplay left, so I think that cost was ok…

Anyway I created a CREW and frankly, I would rather avoid the online system until the banning is fixed so if you want to join my crew, let me know…

So does anybody else play GTA V? I am only getting it to have some pass time gameplay… but if some good fun can be had with a trusted group, I am up for it…

Oh and I have finally made headway with my Web Studies again :slight_smile:

1 Like

I tried to generate rendertargets until I ran out of VRAM to see how the system would react to that.

As expected I can easily exceed my VRAM with textures, as they are outsourced to RAM when not actively used. However, if they are used every frame and I have more than my VRAM can store the game runs slowly (expected behaviour).

Generating more textures with greater storage requirements than my RAM allows made my system freeze (total textures size > ram)

Just an interesting TIL i guess.

1 Like

Yeah, still trying to figure out why my GPU reports having some 18GB shared RAM… :stuck_out_tongue: [I know why just not sure why it requires 9x it’s own internal RAM]

Maybe that [Your shared limit] is the upper shared memory limit you are hitting and then it caps out and begins rewriting or compressing?

Well remember there is vram ram and disk.
vram (fast) ram (slow) disk (dead turtle)

Shared ram is junk its good for in between loading screens. (Only with x64 assemblies does have 18+ gigs of shared memory) not that it means much.

In xna i wrote my own TextureIdManager to load in Huge images and rewrite and overwrite textures if i had to. like super huge images some that paint couldn’t load, (don’t ask it was a old .dat file over 1 gig in size with a ancient encoding and 10k images lol). It also tracked how many megs or gigs i loaded.

Turned out in xna the limit is just under 2gigs. This was actually a Virtual Memory limit (not video memory) imposed by windows due to the x86 assemblies. Which all have application limits of 2 gigs or a 2gig limit of vm per app and that counts against other loaded data as well.

1 Like

I have not used an x86 [a 32-bit] machine in a long time now [as a main driver] even my NUC is 64bit with 8GB of RAM and I use that as a Test Machine… and the devices which are 32bit that I have are just tablets or consumption devices so… yeah not much use at all really… 64bit has been with us for over a decade [As consumers] and frankly nothing should ever be made with less than 4GB of RAM or using 32bit… period… [Those things are painfully slow… and don’t get me started on HDD vs. SSD vs. NVME] it makes no sense to do that when the technology is so ubiquitous now… and even mobile phones are 64bit, so frankly I cannot wait for 32bit support to be dropped entirely [Though it is an underlying layer somewhere as x64 was sort of bolted onto x86… not sure if x64 is a standalone framework now or not, not really looked into it in a while]

17 years now…

And we are not in the 1980’s where new technology came every 3 years, new tech comes at us on an almost daily basis now… just look at Kickstarter type sites… :stuck_out_tongue: [With a pinch of Tequila]

Though I am fully aware there are still x86 [32bit] devices out there… my rant there is that no 32bit devices should be manufactured any longer… even if they only come with just 2GB ram… as some new applications are made solely for x64… and no all require more than 2GB RAM to function… so kind of a cat and slide issue…

Skip to here, the above is a pointless rant…

If you made that texture manager today, how much less complex would it be if at all?

I really cannot wait to dig into MonoGame :frowning: but so many things delaying me right now and until I move, not much going to be done and even then… grr…

For now, I can sit on the forum absorbing tid-bits to familiarise myself somewhat with the workings of MonoGame which should help get up to speed when I get around to it…

I’ve just ported the https://github.com/UncleThomy/BloomFilter-for-Monogame-and-XNA
monogame bloomfilter sample to OpenGL to fix some issues and the whole porting went pretty quickly, since I had a rough idea of the potential problems.

I didn’t expect this though

        //For DirectX / Windows
        _bloomParameterScreenTexture = _bloomEffect.Parameters["ScreenTexture"];

        //If we are on OpenGL it's different, load the other one then!

        if (_bloomParameterScreenTexture == null)
        {
            //for OpenGL / CrossPlatform
            _bloomParameterScreenTexture = _bloomEffect.Parameters["LinearSampler+ScreenTexture"];
        }

Interesting that mgfx gives me an object that’s called “LinearSampler + ScreenTexture” which is a Texture2D.

Aside from that merely changing shader model from 4_0 to 3_0 didn’t work.

I’ve also - and this i hoped to never see again - had to add half pixel offsets again.

	float2 halfPixel = InverseResolution / 2;
	float4 color = ScreenTexture.Sample(LinearSampler, texCoord + halfPixel);

The result without it looks pretty interesting though.

For comparison: Expected behaviour

2 Likes

The sampler naming is because GLSL lacks the sampler-texture separation that DX has. GLSL only has samplers and texture is part of the sampler state like in DX9, so MojoShader generates samplers for each DX texture-sampler combination that is used in the shader. That’s pretty crap, but unfortunately not something we can work around :confused: if you want portable code you can use dx9 style sampler declarations

1 Like

AWS Announces Amazon GameLift Now Supports Any C++ and C# Game Engine

Amazon Web Services, Inc. (AWS), an Amazon.com company (NASDAQ: AMZN), today announced that Amazon GameLift now supports games built with any C++ or C# game engine, including Amazon Lumberyard, Unreal Engine, Unity, and custom developed engines. With Amazon GameLift, developers can quickly scale their dedicated multiplayer game servers to support millions of players using AWS’s highly available cloud infrastructure, without investing thousands of hours in upfront engineering. AWS also announced that Amazon GameLift includes new matchmaking functionality that intelligently selects the closest available game server based on each player’s location, giving players the lowest possible latency by leveraging AWS’s broad global footprint. Game developers only pay for the compute, storage, and bandwidth resources their games use, with no upfront commitments or monthly contracts. To get started with Amazon GameLift, visit Dedicated Game Server Hosting - Amazon GameLift - AWS.

AWS Announces Amazon GameLift Now Supports Any C++ and C# Game Engine | wallstreet-online.de - Vollständiger Artikel unter:

http://www.wallstreet-online.de/nachricht/9337354-aws-announces-amazon-gamelift-now-supports-any-c-and-c-game-engine

Don’t want this in the useful links thread but thought someone might find this of interest… damn so many ads on that site…

Started to notice many usernames beginning with J, and as @Jjagg is on here a lot, I wanted to not get confused lol so I made this for you/him


I just noticed this, but it appears to be a bit buggy… the horizontal line button…

Anyway if anybody wants a new avatar I am deadlocked for the coming three to four weeks and not doing anything special while moving houses so I can spend some time making an avatar for you… I did this on a previous forum too so, the option is open to all…

Made another one in case that one was a bit plain

1 Like

lol
Nice @MrValentine.
Was thinking about the same thing for some time now. Since @Jjagg is a regular around here he deserves a nice avatar.
But I got no talent when it comes to drawing.
Nice work…
Wonder what @Jjagg thinks about it. (take it, take it already :slight_smile: It’s beautiful)

1 Like

Thank you, I have not tested for the circle fit however so hopefully it fits correctly or I can make a modification…

Adding this here by the way, is it relevant to MonoGame at all? if it is I would like to add it to the U-MG-RL thread

Can someone please confirm?

Thanks @MrValentine! Very cool! How do you manage to do that, being blind?

Certainly with the Force

Glad you like it :slight_smile:

Will be fully explained in my book, will see if I can hand out some free Kindle keys? for you guys…

There is a rule about the Force Club, first rule we don’t talk about… :stuck_out_tongue: you know the joke lol :heart_decoration:

As I said, happy to make more for anybody new or been here for a time… especially those with the default avatars… I wonder if it supports animated Gifs?

EDIT

The transparency looks amazing when you click his username now :slight_smile:

Nope, converts it to a PNG… oh well, I made mine 25% transparent :slight_smile:

1 Like

looks like XNA / Monogame don’t care for independent blendstates for MRTs very much.

Ironically one can set IndependentBlendEnable to true, but the different blendstates for different RTs have no setter and are all clones of each other, effectively making this a useless choice.

Looks like my monogame version gets further and further away from the default one, even though these changes are so small (giving the option to set TargetBlendStates)

1 Like

Any help with this so I can add it to U-MG-RL…

Ah been working on this for the last few hours.
My prototype implementation of specular highlighting on custom vertex data.

Unless im missing something you cant use reflect on vectors in the shader?
Which sort of doesn’t make sense so i dug out my old code and i put it in manually.

Though i still gotta try to move things to the pixel shader

//______________________________________________________________
// shader techniques TechniqueB
//______________________________________________________________
VertexShaderOutputB VertexShaderFunctionB(VertexShaderInputB input)
{
    VertexShaderOutputB output;       
    output.Position = mul(input.Position, gworldviewprojection);
    output.TexureCoordinateA = input.TexureCoordinateA * input.Color;
    float3 normal = mul(input.Normal, gworld); //world space normal
    output.Normal = normal;
    float4 col = input.Color;
    float alpha = col.a;
    // i forget what they call this just regular lighting i guess.
    float lightIntensity = saturate(dot(normal, -lightDir));
    // blend with ambient
    col = ((col *.5 + lightColor *.5) * (lightIntensity * (1 - ambientColor))) + (col * ambientColor);
    col.a = alpha;
    // specular highlighting
    float3 i = lightDir; // incidence
    float3 n = -normal; // surface normal
    float3 lightToSurfaceReflection = float3(
          2 * n.x * (n.x * i.x + n.y * i.y + n.z * i.z) - i.x,
          2 * n.y * (n.x * i.x + n.y * i.y + n.z * i.z) - i.y,
          2 * n.z * (n.x * i.x + n.y * i.y + n.z * i.z) - i.z
        );
	float reflectionEyeMagnitude = dot(cameraForward, lightToSurfaceReflection);
	reflectionEyeMagnitude = max(0, reflectionEyeMagnitude);
	float specularResult = pow(reflectionEyeMagnitude, specularSharpness);
	col = ((col - specularPercentage) + float4(1, 1, 1, 1) * specularResult);
	col.a = alpha;
	//
	output.Color = col;

	return output;
}
PixelShaderOutputB PixelShaderFunctionB(VertexShaderOutputB input)
{
	PixelShaderOutputB output;
	output.Color = tex2D(TextureSamplerA, input.TexureCoordinateA) * input.Color;
        // just display vertex normal shading
	if (displayVertexNormalShading)
	{
		output.Color = input.Color;
	}
	return output;
}

no you can.

Just use reflect(v1, v2)