Prior Reading
As I was dramatically fleeing back to Dundee, sensing the approaching lockdown, I ran into Waterstones and bought a 700-page book on the Vietnam War. I am yet to finish this book, I didn't even get halfway - but it set the tone for how I would spend my free time during lockdown and Summer.
As the beginning of year 4 approached, I decided I should begin researching. The main areas that I have a theoretical interest in are postmodernism, marxism, and (new) media art.
Anthony Gottlieb | The Dream of Enlightenment
I realised I had a very basic understanding of postmodernism and somehow decided starting at 17th century philosophy was the best place to start. I read Anthony Gottlieb's The Dream of Enlightenment, a book that briefly summarises the life and work of key enlightenment philosophers including Descartes, Hobbes, Spinoza, Locke, Leibniz and Hume. I read this book not to specifically gain an understanding of the works of the specific thinkers, but more to gain a better understanding of the context and origins of certain philosophical concepts.
Noam Chomsky
As the Black Lives Matter protests began to develop in the United States, I developed an interest in colonialism. This led me down a rabbit-hole that took me to Noam Chomsky, an American linguist known for is political writing and activity. I managed to get my hands on Understanding Power, a book full of transcripts of interviews with Chomsky covering a whole range of issues including the role of the media in preserving power, and the general nastiness of the US government.
I found this book absolutely fascinating. I would love to bring his writing into my work.
E.H. Gombrich | The Story of Art
As I picked up other bits and pieces of mostly philosophical and political readings, I decided I could do with improving my understanding of Art. Realising that my understanding of art is embarrasingly poor, I decided I would start afresh with the basics, so I read E.H Gombrich's The Story of Art.
I have a decent understanding of artists, but I realised that this knowledge is fragmented. My goal in reading The Story of Art was to place these individuals within the progress of art. Seeing art as one narrative would help me understand the significance of my work, whilst providing me with even more reference.
Robert Hughes | The Shock of the New
With a similar intent, I began reading the Shock of the New to gain an understanding of the significance and advancements of Modern Art. Again, I don't want to suggest that I had no priot knowledge of modern art before reading this, but it fills in the cracks between the fragments of knowledge I do have. I discovered I don't have so much interest in the aesthetics of painting and sculpture but more of an interest in concepts within art. I don't claim to have a vast knowledge of these artists but Duchamp, Magritte and Beuys work seems to interest me the most. Works from these artists is explored in my artwork research page.
Gary Gutting | French Philosophy in the 2oth Century
French Philosophy in the 20th Century provides an account of the major works of major French thinkers during the 21st century. It is split into 3 parts: The Philosophies of the Third Republic, The Reign of Existentialist Phenomenology and Structuralism and Beyond. I am interested in the latter two, specifically the chapters on Sartre, Merleau-Ponty, Foucalt and Derrida. The book gives (relatively) brief overviews of each thinkers work, allowing me to get a better idea on what works are worth commiting the time to reading.
Jean-Paul Sartre
In reference to Sartre's philosophical magnum opus, Being and Nothingness, Gutting explains two important philosophical concepts: being-for-itself and being-in-itself. Being-in-itself is an intrinsic property to objects that are the subjects of consciousness, e.g. a coffee mug or a pen.
Sartre believes that consciousness can have no content, it can only be directed at other things. He concludes that consciousness is nothing. Problems arise when one considers self-conscioussness. For a conscious to be conscious of itself, consciousness must have being-in-itself; it must exist.
Sartre introduces the concept of being-for-itself which is the consciousness awareness of itself whilst being directed at beings-in-themselves.
Ferdinand de Saussure
Saussure was a Swiss linguist credited for laying the foundations of semiotics and so structuralism. He believed that linguistics should be understood as the synchronic (language at one point of time, history and development is not considered) study of language systems.
He believed that language is a system in which the most basic elements are signs. A sign refers to the synthetis of a word and an idea. He calls the word the signifier, and the idea, the signified.
Saussure theorises that a sign only has meaning in relation to its place within the greater system of signs. The meaning of the sign is determined by the way it differs from other signs. For example, the meaning of "red" can not be expressed by showing somebody a range of red objects. They may conclude that "red" means objects that have mass, or objects that are not on the moon. It is not until you show the same object but in a different colour, that "red" can be understood.
Jacques Lacan
Lacan was a French psychoanalyst who sought to improve the understanding of Freuds work through structuralism. Freud's theories outlined three sections to the mind, the id, the ego and the superego. The id is responsible for the desires of basic needs such as food, shelter and sex. The superego also makes demands based on moral and cultural norms. The ego is the conscious part of the mind that considers how best to satisfy these drives.
Freud believed that mental illness occurs when the ego is overwhelmed with unconscious desires that can't reconciled. This can be treated by returning the ego to a stable true form.
However, Lacan believed that true indentity is always a deception. Identity is the identification with a false external image. It is a construct within what Lacan calls the Imaginary.
Lacan went on to believe that the unconscious mind is structured with a enclosed language. Much of the information is lost when being translated into spoken language making it difficult to understand.
Lacan is well-known for is theories on The Mirror Stage. The mirror stage occurs between the ages of six and eighteen months, where an infant develops an images of itself as an ego with control of its own action. Once the infant identifies with something outside of itself, then it can differentiate itself as a distinct autonomous being.
Roland Barthes
Barthes was a French literary critic, most well-known for delcaring the death of the author.
Mythology is Barthes's term for the use of language to express second-level meaning- that is one level beyond the primary meaning of the sign.
He uses the example of a the cover of a French magazine featuring a black soldier saluting was is presumably a French flag.
The primary sign is the image of a black soldier saluting the French flag. The secondary meaning appears with the context of the image being on a magazine cover. We are to interpret this image as displaying black soldiers as just as patriotic as white soldiers. This meaning can be interpreted as relating to racial prejudice, French nationalism and exploitation of native people by the French empire.
Barthes went further than his predecessors by expanding the meaning of signs to encompass non-linguistic symbols.
The following points are very important to my studies:
Barthes believed that when this type of sign is successful, the sign becomes part of nature. Using the example above, if this sign is effective, this idealised nation becomes my reality.
In Barthes's book S/Z, he analyses a short story titled "Sarrasine". Barthes states that this text relies on rules that he calls codes. All 5 of these codes appear in this story's first sentence. The result, he argues, is that the text doesn't have a single overall structure, it is actually a structure of complex and conflicting structures.
He then splits literature into two types- readable and writable. A readable text is very accesible and can be read passively. A writable text, confounds our expectations, making it difficult to read. In effect, the reader must be involved in writing the text, constructing meaning out of the author's product.
This dismantles the structuralist ideal of a single unfied structure beneath language, as text is a proliferation of diverging interpretation. The author is dead, and now the reader constructs meaning in the text.
Ferdinand De Saussure
Ferdinand de Saussure is the father of semiotics. There are three main aspects of his semiotics that are of importance to me.
The first being that the sign as the building block of language. The sign is the synthesis of the signifier- what Saussure describes as an accoustic image and the signified- the concept or an idea.
The sign is to be thought of as like a sheet of paper, with one side being the signifier and the other the signified. The signifier and the signified are co-dependent. They can only be seperated in analytical contexts
The signified does not represent a real object, it is a conceptualised idea of an object.
The sign gains meaning in its difference to other signs. A sign alone has no meaning.
Saussure also believed that signs are arbitrary in that they have no inherent meaning. The linguistic sign is unnmotivated.
Roland Barthes
Barthes
Jean Baudrillard
I have come across Baudrillard in DHT before so I have a basic understanding of his ideas in his book Simulacra and Simulation. I plan to rely a fair bit on his work due to his concepts of Hyperreality and sign-value, both of which are heavily grounded in Saussurian semiotics.
Secondary Sources
My technique for the moment is to not spend too much time on any one thinker, so I can cover as much ground as possible while my ideas are still very maleable. I tend to look at Wikipedia pages and Stanford Encyclopeadia of Philosophy pages, which is still a decent bit of reading, but nothing compared to reading the primary sources.
In my present understanding, the main idea of Simulacra and Simulation is that in postmodern society the proliferation of images through media has distorted signs often making them self referential. This closed loop of signs no longer has any representation of reality. Now that I have a better understanding of Saussure, it makes me less sure of my understanding of Baudrillard. Saussure wouldn't have claimed that signs ever represented reality, they only represented concepts of real or imaginary objects or ideas. I am getting to the point where I am going to need to get to primary sources to answer these questions.
He also introduces the concept of sign-value. This is an extra type of value, built upon Marx and Engles' use-value and exchange-value. Baudrillard believes that there is now an extra component to commodities that determines their value, and that is the idea that they represent. This allows individuals to be percieved to signify ideas that they desire to be percieved as. I think Marx has a similar or related concept called reification, I think it is the idea that the collection of objects eventually leads to one being defined through their objects, losing their subjectivity in the process.
I have also come across a ideas from his other books. In one of them, he predicts a future in which
Learning Shaders
[WARNING] I find it easier to learn from tutorials if I write it out. The writing below is me rewriting Alan Zucconi's shader tutorials that can be found here.
Unity supports two kinds of shaders: surface and fragment-vertex shaders. These shaders are written in HLSL (High Level Shader Language).
Properties in a shader are equivalent to the public fields in a C# script. Properties can be int, float, range, colour, vector, or 2D texture.
2D textures can be intitialised to white, black or grey. Or they can be normal maps.
A shader file consists of a property section, and subshader sections. The property section appears in the inspector to let users adapt the material using the shader. The properties therefore need to be re-defined in the body of the code.
Textures use a sampler2D type, Vectors float4, and colours half4. A half is the same as a float but with half the number of bits (16 bits).
The names of the properties in the main body must match exactly with those defined in the properties section. The types however, can be mixed. Halfs can become floats.
Rendering Order
The body of a shader is executed for every pixel in an image. There is a limit to the number of operations that can be performed per pass in a shader.
The Cg code appears after the 'CPGROGRAM' and before the 'ENDCG' in the shader code.
Before the CGPROGRAM, tags can be written to tell unity specific properties of the shader e.g. the order in the render queue or whether the render type is opaque or transparent.
When rendering, the GPU renders triangles furthers from the camera first. The smaller the number in the Queue tag, the sooner it is rendered.
Background is usually 1000, geometry 2000, transparent 3000 and overlay 4000.
ZTest
An object from transparent does not always have to draw on top of an object from geometry. The GPU performs a zTest which stops hidden pixels from being drawn.
It uses an extra buffer with the same size as the screen its rendering to with each pixel holding a depth value which is the distance to the camera. If we are able to write a pixel which is further away than the current depth, the pixel is discarded. This would allow for opaque objects to be drawn on top of transparent objects.
Surface Versus Vertex and Fragment
The Surface Shader
The surface shader allows for surfaces to render light. They allow for one to specify properties like albedo, normals and reflectivity in a function called surf. These values are plugged into a lighting model which will output the final RGB value for each pixel.
The Vertex and Fragment Shader
V and F shaders have no built-in lighting models. Geometry is first passed through the vert functions which alters vertices, then individual triangles are passed through the frag function which decides the final RGB value for each pixel. These shaders are useful for 2D effects and postprocessing.
Surface Shaders
A surface shader will take a 3D model and first modify the vertices, then use that to apply the surface function, then this will have the lighting models applied to it.
The Surface Function
This takes the information from the 3D model, and outputs its rendering properties.
Surface Output
The struct 'SurfaceOutpit' has the following properties, albdeo, normal, emission, specular, gloss and alpha.
Apparently, you rarely need 32bit precision in shader calculations so 16 bits suffice (use hald instead of float). Cg also uses a 'fixed' type this only uses 10 bits and spans from -2 to 2.
Sampling Textures
Data is stored in the vertices of 3D models, most often UV and colour data. UVs consist of a 2D coordinate between 0 and 1. This coordinate holds where the UV is placed in a texture map.

Snippet of code from Alan Zucconi's shader tutorials

In the code above, the _MainText property is of Sampler2D type. In line three, this is purely to make it accessible in the inspector. It is actually declared in line 12.
The UV data for the current pixel is stored in the float2 on line 10. This goes within an 'Input' struct. I am not entirely sure if this is correct but the tutorial suggests that it gains the uv data for the pixel just from it having a 'uv_' before the 'MainTex' variable.
The next step is to find what part of the texture this UV coordiante refers to. A built in function called tex2D will return the RGBA colour for a pixel when it is given a UV coordinate and a texture.
As UV coordinates are only stored in vertices, any pixel in between vertices will be interporlated.
Surface Input
The surface input can be be filled with values that Unity can calculate like the world position, view direction or screen position.
Vertext Function
While the surf function changes the colours in RGBA space, the vert function changes the vertices in 3D space. 'appdata_full' contains all the data of the current vertex.
Part 3 - Physically Based Rendering and Lighting Models in Unity3D
Diffuse Surfaces: The Lambertian Model
I have covered these before somewhere but essentially an object is brightest where the normal is in the opposite direction to the light direction.
Physically Based Rendering is just another light model. PBR provides more realistic light interactions as conservation of energy and light scatter are taken into account.
PBR has two work flows; metallic and specular
Vertext and Fragment Shaders in Unity3D
First the geometry is passed through the vert function, then the result goes through a 'frag' function that outputs a RGBA colour.
The main difference between a V&F shader and a surface shader is that a V&F shader has no semantic for physical properties. This means it tends to be used for non-realistic materials or post processing effects.
A binding semantic happens when a colon isplaced after a variable or function. It can be used to indicate a value we want unity to initialise a variable with e.g vertex positions, screen vertex postitions etc.
Vertex and fragment shaders are often used for special materials like water and glass. This can be created by first grabbing the screen and storing it as a texture. Then one uses a normal map to displace the pixels, then re renders this to the screen.
The pass called GrabPass grabs whatever has already been rendered to the screen.
I did not know this until now but normal maps are made up of RGB values, and I assume these translate to the XYZ displacement of the vertices.
This distortion can be used to create moving materials like water and fire. Unity has a built in time property that allows for these distortions to be animated. Sin(time) can be used to make movements oscilate.
Catlike Coding | Shaders
Custom Shaders
So in this tutorial, the shader file is set up with properties, but a HLSL is referenced within the pass{} function. This is done by writing #include then the path to the .hlsl file.
In the .hlsl file, it is good practice to write
#ifndef MYRP_UNLIT_INCLUDED
#define MYRP_UNLIT_INCLUDE
[[HLSL CODE]]
#endif // MYRP_UNLIT_INCLUED

Back to Top