Giter Club home page Giter Club logo

trippygl's Introduction

Silk.NET Community

The Silk.NET Community GitHub is a home for useful community-maintained extensions for the Silk.NET library recognised by the official Silk.NET maintenance team.

Summary

We created this organisation to give extra recognition to projects the Silk.NET team deem useful and trustworthy, and to serve as a single location for community projects endorsed by the Silk.NET team.

Benefits for the user:

  • A single location for add-ons to Silk.NET - no need to go hunting!
  • Readily-available access to mature projects that can be trusted and are endorsed by the Silk.NET team

Benefits to the community project maintainers:

  • More exposure to more users
  • Greater user buy-in given the "Trusted by the Silk.NET Team" image

Benefits for the Silk.NET maintainers:

  • No need to envelop these projects into the main library, as a result:
    • Less work to maintain the Silk.NET library
    • Less risk of scope creep

Get your project involved!

Simply open an issue using the "Project Submission" template and the Silk.NET team will review your project as soon as possible!

Points to Note

  • You keep all maintenance responsibility
  • You keep admin permissions on the GitHub Repository.
  • You keep full copyright of the project, and do not need to grant anyone any additional rights (such as trademark or patent licenses), though the permissive license requirement
  • You can withdraw from the Silk.NET Community at any time (contact us on Discord)
  • You still have full control over library design, code, and maintenance decisions & policies, except where otherwise noted in the "Onboarding Requirements"
  • You may request a channel in the Silk.NET Discord Server for development discussion

Prerequisites

  1. You use Silk.NET predominantly for any low-level interoperation with libraries that Silk.NET provide bindings for, and help promote the Silk.NET as the one bindings library you need for low-level graphics.
  2. You are stable enough to be recommended to our community, and the project is in a good enough state that our userbase can start integrating your work into theirs.
    • Betas and pre-releases are okay, so long as the primary advertised functionality works (i.e. it "does what it says on the tin")
  3. You solve a problem which the Silk.NET maintainers team recognises as a problem, and they believe that your project is useful when building libraries and applications that use Silk.NET.
  4. Your leadership skills and/or familiarity with the Silk.NET toolset is recognised by the Silk.NET maintainers (e.g. you've proven to be a friendly face in Discord, you're a known contributor on GitHub, and/or are a known Silk.NET evangelist)
  5. You use a permissive copyright license that is suitable for consuming the project as intended without adverse restriction
    • MIT or MIT-compatible licenses (e.g. Apache 2.0, BSD-3, etc) are recommended

Onboarding Requirements

  • You will need to adopt the Contributor Covenant Code of Conduct, and ensure your community doesn't break the rules. A copy of this is provided in the CODE_OF_CONDUCT.md file.
  • You will need to use Discord and join the Silk.NET Discord Server so that we can maintain contact with you, ideally providing an alternative contact method (such as an email address) in case we can't.

Ongoing Requirements

  • You will need to maintain conformance with the "Prerequisites"
  • You, as a project team, will need to conform with the Code of Conduct
  • You will need to remain contactable via Discord in the first instance, and via the alternative method provided if all else fails.

Non-conformance, in the worst case, may result in us requesting that the project be transferred out of the organisation - if we are unable to establish contact with a maintainer to do this within 30 days after at least 3 attempts, the project will be archived. You, as the project maintainer, will be able to contact us at any time to get the project unarchived and transferred at any time.

For the purposes of the Silk.NET team's relationship with the community project, a "project maintainer" is anyone with admin rights on the GitHub repository - this is defined as such so that you can add and remove maintainers to the project as you please without contacting us but please ensure all maintainers are in the Discord server.

trippygl's People

Contributors

thomasmiz avatar vpenades avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

trippygl's Issues

SimpleShaderProgramBuilder with DiscardTransparentFragments set throws ShaderCompilationException

Repro Steps:

  1. Create a SimpleShaderProgramBuilder
  2. Set DiscardTransparentFragments to true
  3. Build shader

Expected Results: Shader generate correclty
Actual Results: TrippyGL.ShaderCompilationException: 'FragmentShaderArb didn't compile properly:
0(16) : error C1048: invalid character 'A' in swizzle "A"
'

Cause is in SimpleShaderProgramBuilder.cs line 303, the GLSL code "if (finalColor.A <" is invalid, the A should be lowercase.

System.MissingMethodException: Method not found

Hello, today, when i tryed to load Texture2D with Texture2DExtensions, i get a System.MissingMethodException: Method not found

Code to load: texturea = Texture2DExtensions.FromImage(device, SixLabors.ImageSharp.Image.Load<SixLabors.ImageSharp.PixelFormats.Rgba32>("1.jpg"));

Full stacktrace:

Unhandled exception. System.MissingMethodException: Method not found: 'Boolean SixLabors.ImageSharp.Image`1.TryGetSinglePixelSpan(System.Span`1<!0> ByRef)'.
   at TrippyGL.ImageSharp.Texture2DExtensions.FromImage(GraphicsDevice graphicsDevice, Image`1 image, Boolean generateMipmaps)
   at silknetlearn.GameWindow.Load() in D:\C#\silknetlearn\Program.cs:line 84
   at Silk.NET.Windowing.Internals.ViewImplementationBase.Initialize()
   at Silk.NET.Windowing.WindowExtensions.Run(IView view)
   at silknetlearn.GameWindow..ctor() in D:\C#\silknetlearn\Program.cs:line 46
   at silknetlearn.Program.Main(String[] args) in D:\C#\silknetlearn\Program.cs:line 16

NuGet package

Looking into tinkering around with this project a bit, any plans on release a nuget package? Also noticed the project doesn't have any CI testing with Azure DevOps or GitHub Actions.
Should I just use this as a submodule for now?

Fix uniform names on struct arrays

The name of the uniforms isn't properly cut.

This is because of the code at the constructor of ShaderUniform:

internal ShaderUniform(ShaderProgram owner, int uniformLoc, string name, int size, UniformType type)
{
OwnerProgram = owner;
UniformLocation = uniformLoc;
Size = size;
UniformType = type;
// The name might come as array name for array uniforms.
// We need to turn the name "arrayUniform[0]" into just "arrayUniform"
int nameIndexOfThing = name.LastIndexOf('[');
Name = nameIndexOfThing > 0 ? name.Substring(0, nameIndexOfThing) : name;

From the relevant discord conversation:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.