Skip to content

Instantly share code, notes, and snippets.

View Pikachuxxxx's full-sized avatar
🎩
lol

Phani Srikar Pikachuxxxx

🎩
lol
View GitHub Profile
@Pikachuxxxx
Pikachuxxxx / RTIAW.frag
Created March 22, 2022 16:18
Diffuse RT
#version 410 core
// Input from vertex shader
in VS_OUT {
vec3 normal;
vec2 texCoords;
} vs_in;
out vec4 outFragColor;
[https://www.shadertoy.com/view/NtfcRr] - ShaderToy Link: This gist has some unsaved edits cause shader toy login was down
---------------------------------------------------------------------------------
Common
---------------------------------------------------------------------------------
// Path Tracer Settings
// The minimunm distance a ray must travel before we consider an intersection.
// This is to prevent a ray from intersecting a surface it just bounced off of.
const float c_minimumRayHitTime = 0.01f;
// the farthest we look for ray hits
@Pikachuxxxx
Pikachuxxxx / psvita-toolchain-premake5.lua
Last active April 30, 2022 06:35
PSVita premake custom arm-vita-eabi tool chain build test
VITASDK = os.getenv("VITASDK")
if VITASDK ~= nil then
print("VITASDK found at : " .. VITASDK)
else
print("VITASDK Env variable not set, please check your environment settings")
end
-- define custom arm-vita-eabi toolchain for compilation and VPK creation
premake.tools.arm_gcc = {}
@Pikachuxxxx
Pikachuxxxx / ToneMapper.frag
Created October 6, 2021 05:48
A Fragment Shader with various tone mapping algorithms
#version 330 core
#extension GL_ARB_shading_language_include : require
out vec4 color;
uniform sampler2D renderTex;
uniform vec2 resolution;
uniform int toneMapMode;
////////////////////////////////////////////////////////////////////////////////
@Pikachuxxxx
Pikachuxxxx / bone_vs.vert
Created September 21, 2021 04:20
A vertex shader to visualise bones
layout (location = 0) in vec3 VS_IN_Position;
layout (location = 1) in vec3 VS_IN_Normal;
const int MAX_BONES = 128;
layout (std140) uniform u_GlobalUBO
{
mat4 view;
mat4 projection;
};
@Pikachuxxxx
Pikachuxxxx / RoundedMainWindow.h
Last active October 6, 2021 14:27
A small snippet to render a rounded QT main window
void resizeEvent(QResizeEvent* event)
{
QImage image(this->size(), QImage::Format_Mono);
image.fill(0);
int roundness = 20;
if (!this->isFullScreen() && !this->isMaximized()) {
//image.setPixel(0, 0, 1); image.setPixel(1, 0, 1); image.setPixel(2, 0, 1); image.setPixel(3, 0, 1); image.setPixel(4, 0, 1); image.setPixel(5, 0, 1); image.setPixel(6, 0, 1);
//image.setPixel(0, 1, 1); image.setPixel(1, 1, 1); image.setPixel(2, 1, 1); image.setPixel(3, 1, 1); image.setPixel(4, 1, 1);
@Pikachuxxxx
Pikachuxxxx / SplashScreenMacOS.m
Created September 14, 2021 11:05
A splash screen demo using native NSApplication and NSWindow for MacOS
#import <Cocoa/Cocoa.h>
// clang -framework Foundation -framework Cocoa ./src/main.m -o ./bin/main && ./bin/main
@interface SampleClass:NSObject
- (NSImage *)resizedImage:(NSImage *)sourceImage toPixelDimensions:(NSSize)newSize;
- (void) RunApp;
@end
@implementation SampleClass
@Pikachuxxxx
Pikachuxxxx / cerealTest.cpp
Created September 12, 2021 12:46
Test code with cereal serialisation library
#include <iostream>
// Std. Libraries
#include <fstream>
// Cereal Includes
#include <cereal/types/unordered_map.hpp>
#include <cereal/types/memory.hpp>
#include <cereal/archives/json.hpp>
@Pikachuxxxx
Pikachuxxxx / VulkanCheckResult.h
Created August 22, 2021 13:08
Utility Macros to check Vulkan Function VKResult and report them in a nice ASCI formatted way
#include <vulkan/vulkan.h>
#include <unordered_map>
#include <vector>
#include <iostream>
static std::unordered_map<VkResult, std::string> ErrorDescriptions = {
{VK_SUCCESS, "Command successfully completed"},
{VK_NOT_READY, "A fence or query has not yet completed"},
{VK_TIMEOUT, "A wait operation has not completed in the specified time"},
{VK_EVENT_SET, "An event is signaled"},
@Pikachuxxxx
Pikachuxxxx / Window.cpp
Created August 22, 2021 13:07
A ready to use GLFW Window with input management and other utilities
#include "Window.h"
Window::Window(const char *title, int width, int height) : backgroundColor(glm::vec4(0, 0, 0, 1))
{
m_Title = title;
m_Width = width;
m_Height = height;
if(!init())
glfwTerminate();